простой способ дописать в каждую строчку txt файла часть его названия
есть
[/каков вопрос, таков ответ]
сильно зависит от того, какие данные в этом файле и сколько этих файлов нужно обработать. Например, разово эта задача легко решается в комбинации блокнот+эксель. А вообще, мне кажется, смысла в ней нет, поскольку присобачивать к строке хвост, зависящий от имени файла, прекрасно можно на этапе выборки данных из файла.
какой?
где 80 по 10 метров ...
Но вот насчет времени обработки 80Мб файлов не скажу.
Но если надо только 1 раз.
во-во 800 метров...
sed ?
Но вот действительно непонятно, нафига такое надо.
тогда я бы писал на си. Обычным fgets'ом. Но повторю, задача странная, и мне кажется, стоит пересмотреть саму необходимость ее решения.
?
просто наиболее простой путь загнать в базу импортнув из текстовика имхо
То есть это делается только для того, чтобы заполнить поле в БД, которое одинаково для всех записей?
далее взять способ предложенный Thirteen и доработать
for /f %i in (%file) do @echo %i#%file>>result.txt
ну да... для записей из определенного файла
чет не выходит каменный цветок... сорри за тупеж
ls | while read a; do cat $a | sed s/$/" # "$a/g; done;
В крайнем случае можно написать триггер на добавление, который это и будет делать
awk '{print $0 "#" substr(FILENAME,11,2) "." substr(FILENAME,13,2) "." substr(FILENAME,15)}' blablabla_ddmmyyyy > named_blablabla_ddmmyyyy
Кстати, рекомендую формат yyyymmdd, ибо хронологический порядок будет совпадать с лексикографическим.
скомпиленное лежит здесь
program addtostr;
{$APPTYPE CONSOLE}
uses
SysUtils;
const
HelpStr = 'Using: addtostr inputfilename outputfilename';
var
filename,fileres:string;
addstr,s:string;
fin,fout:text;
begin
{ TODO -oUser -cConsole Main : Insert code here }
if(ParamCount <> 2) then begin
Writeln(HelpStr);
end else begin
filename := paramstr(1);
fileres := paramstr(2);
addstr := copy(filename,8,8);
addstr := '#'+addstr+'#';
Assign(fin,filename);
Assign(fout,fileres);
Reset(fin);
Rewrite(fout);
while not eof(fin) do begin
Readln(fin,s);
Writeln(fout,s+addstr);
end;
Close(fin);
Close(fout);
end;
end.
Жесть! Кто больше!
ждём решения на ассемблере!
ждём решения на ассемблере!
{x 0:(0:x\:"#",-8#$x}'&(f:!`:.)like"test_*"
Q покруче ссаного ассемблера.
ls | while read a; do sed -i.bak s/$/" # "$a/g $a; done;
я б так сделал.
Оставить комментарий
ceylor
а есть какой-нить простой способ дописать в каждую строчку файла часть его названия, т.е. есть файл названия типа blablabla_ddmmyyyyстрочка1
строчка2
...
хотелось бы
строчка1#dd.mm.yyyy
строчка2#dd.mm.yyyy
...
спасибо!