следующие строки добавляют содержимое essay_i.txt к концу essay1.txt;
touch essay1.txt
for (( i = 1 ; i <= 10 ; i++ )); do
sed '2p' essay_"${i}".txt >> essay1.txt
done
как мне изменить его, чтобы первая строка каждого из essay_i.txt не копировалась ( т.е. только скопировать строку 2-> конец)?
Чтобы подавить первую строку, используйте '1d'
(т. Е. Строку 1, удалите):
touch essay1.txt
for file in essay_*; do
sed '1d' $file >> essay1.txt
done
на выходе будет
~$ cat essay1.txt
line 2 from essay 1
line 3 from essay 1
line 2 from essay 2
line 3 from essay 2
...
для всех файлов с именем [ 114] в текущем рабочем каталоге.
Вместо использования sed
вы также можете использовать tail
для выполнения этой работы:
tail -n +2 $file >> essay1.txt
Где +2
означает, начиная со второй строки (-n 2
будет последние две строки).