Я не могу искать конкретную строку, так как они все очень похожи, но я хотел бы, чтобы что-то простое прервало первые 4 строки в файле.
Они - вся переменная длина также. У меня было думание о жемчуге, и все это кажется более твердым, чем я думал, но я хотел бы сделать это в Perl, AWK или команде оболочки, если это возможно.
У кого-либо есть простой способ сделать это?
sed
- самый простой. Чтобы удалить первую строку файла, выполните:
sed '1d' file.txt
Или, чтобы удалить первые четыре строки, выполните:
sed '1,4d' file.txt
sed -i '1,4d' <filename>
удалит первые четыре строки входного файла. (Если вы хотите удалить только первую строку, вы можете вместо этого использовать '1d'
.)
Флаг -i
означает редактирование на месте, что означает, что ввод файл также является выходным файлом, и, таким образом, изменения записываются обратно в исходный файл. Если вы предпочитаете, чтобы файл оставался нетронутым, а измененное содержимое просто записывалось в стандартный вывод, просто опустите -i
.
Этот и многие другие sed
1-строчки можно найти в удобной ссылке здесь:
пропустить первые 4 строки
$ awk 'NR>4' file >temp;mv temp file
$ more +5 file >temp;mv temp file
$ perl -i.bak -ne '$.>=4 && print' file
Попробуйте следующее: sed -i 1d file
Общее правило:
Чтобы удалить n
первые строки: sed '1, nd' file.txt
Например: sed '1,4d' file.txt
для удаления первых 4 строк
Решение, которое не требует языка сценариев (например, awk, sed, perl и т. Д.):
tail -n `expr \`cat FILE | wc -l\` - 1` FILE > FILE.new; mv FILE.new FILE
Идея состоит в том, чтобы подсчитать количество строк в файле, затем вычесть единицу, а затем передать результат в «хвост» команда.
perl -pe'1..4and$_=""'
как эквивалент
sed 1,4d
или
perl -ne'1..4or print'
как эквивалент
sed -n '1,4!p'
. Вы можете использовать -i
так же, как в sed
.
tail -n+2 filename
Пропускает первую строку в filename
и выводит ее на стандартный вывод. Параметр -n + 2
означает вывод строк, начинающихся со второй строки.
Конечно, вы можете заменить 2 любым числом, которое вам нужно (в вашем заголовке и фактическом содержании вопроса указано первое и пятое соответственно).
Найдите в файле четвертый «\ r \ n» или «\ n» и подстроку из этого индекса.