Я хотел бы знать, возможно ли скопировать строки с номерами 7,8,9 и 17,18 одного текстового файла в другой?
Большое спасибо заранее !!!
Вы можете использовать sed
(редактор потоков) для выборочной печати строк по номеру, например
sed -n '7,9p;17,18p' oldfile > newfile
Вы не должны полагаться на порядок строк на файле, потому что он мог бы измениться (если это - системный файл, временный файл ECC. и это обновляется).
Можно использовать grep или один из его вариантов, например, rgrep:
rgrep WordOrRegularExpressionToMatch "Name_of_the_file"
Затем после того, как Вы видите, что принтер строк является правильным, можно использовать:
rgrep WordOrRegularExpressionToMatch "Name_of_the_file" >> "Name_of_the_second_file"
Это добавит строки, распечатанные rgrep во второй файл; перезаписывать использование">" и не">>".
Если Вы действительно хотите извлечь точный набор строк, можно использовать "sed":
sed -n -e 7,9p -e 17,18p "Name_of_the_file"
(это 2 отдельных интервала),
Так...
sed -n -e 7,9p -e 17,18p "Name_of_the_file" > "Another_file_to_overwrite"
(>> для добавления> Копия и вставляют строку: это сделает задание.:-)
"человек sed" даст Вам больше справки.
Хорошего дня!
Если вы знаете, сколько строк в вашем исходном файле (wc -l), вы можете сделать это ... предположим, что 12000 строк и вам нужно 2000 - 7000 строк в вашем новом файле (всего 5000 строк).
cat myfile | tail -10000 | head -5000 > newfile
Прочитайте последние 10k строк, затем прочитайте первые 5k строк из этого.