Если в табличных строках есть символы табуляции:
grep '␉' <input_file >output_file
( ␉
будучи буквальным символом табуляции) или эквивалентно
sed -n '/␉/p' <input_file >output_file
В сценарии bash / ksh / zsh вы можете написать $'\t'
для вкладки, например, grep $'\t'
или sed -n $'/\t/p'
.
Если вы хотите удалить 10 строк в начале файла:
tail -n +11 <input_file >output_file
(обратите внимание, что это +11
исключить 10 строк, потому что +11
означает «начать со строки 11» и строки с номерами хвостов от 1) или
sed '1,10d' <input_file >output_file
В Linux вы можете воспользоваться -i
опцией GNU sed для изменения файлов на месте:
sed -i -n '/\t/p' *.txt
Или вы можете использовать цикл оболочки и временные файлы:
for x in *.txt; do
tail -n +11 <"$x" >"$x.tmp"
mv "$x.tmp" "$x"
done
Или, если вы не хотите изменять файлы на месте, а вместо этого дать им другое имя:
for x in *.txt; do
tail -n +11 <"$x" >"${x%.txt}.data"
done
sed -i -e 1,3d yourfile
. Это ничего не отразит, это просто изменит файл на месте. Если вам не нужно передавать результат в другую команду, это проще.