Если сведенные в таблицу строки - те, которые имеют символ табуляции:
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 можно использовать в своих интересах sed's GNU -i
опция изменить файлы на месте:
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
Похоже, что проблема решена другим обновлением (я не испытываю эту проблему больше). Тем не менее, спасибо за подсказки.