Скопируйте строки в файл и вставьте его в новый файл.

Какое оборудование у вас есть? Ваш компьютер может не иметь достаточного количества аппаратного обеспечения для запуска такой расширенной ресурсоемкой программы.

0
задан 5 May 2012 в 14:37

1 ответ

Попробуйте следующее:

cat 1.txt > new.txt
for f in 2.txt 3.txt 4.txt 5.txt 6.txt 7.txt 8.txt 9.txt 10.txt 11.txt 12.txt; do tail -5 $f >> new.txt; done

Это копирует содержимое первого файла в файл new.txt. Затем for извлекает последние 5 строк (от 6 до 10) ваших файлов (исключая первый файл) и добавляет к new.txt. Если имена файлов следуют за определенным шаблоном, вам не нужно перечислять их все имя в for, но используйте, например, *.текст. Но шаблон также должен был бы исключить первый файл и new.txt.

1
ответ дан 25 May 2018 в 11:51
  • 1
    Дорогой williamvoor, спасибо за предложение, но он дает: tail: не может открыть `$ f 'для чтения: нет такого файла или каталога. – Serge 5 May 2012 в 15:18
  • 2
    @Serge Вы можете вставить здесь точную линию for, которую вы использовали ?. – Boj 5 May 2012 в 15:53
  • 3
    Он работает, спасибо. Ошибка возникла, когда я попытался запустить скрипт в .bat-файле (я нахожусь в Windows с использованием cygwin) и других функциях linux. Когда я печатаю непосредственно в Cygwin, все было в порядке. С другой стороны, я также создал для него еще один скрипт, используя cat 1.asc > new.asc foreach n (2 3 4 5) sed -n '7,200p' $n.asc | cat >> new.asc end , который я мог бы запустить как .bat-файл. – Serge 5 May 2012 в 17:45

Другие вопросы по тегам:

Похожие вопросы: