大容量の.txtファイルが複数あり、長さが正確に9文字の場合は、行を削除する必要があります。それ以上も以下でもない。
awk / sedを使用してこれを行う方法はありますか?
ベストアンサー1
sed
GNUの拡張正規表現を使用してください。
for file in ./*.txt; do
sed -i -r '/^.{9}$/d' "${file}"
done
(代わりにFreeBSD / macOSで使用して-E
(最新バージョンのGNUでも動作します)代わりに)-r
-E
sed
-i ''
-i
指摘したとおりドンクリスティ、GNUを使用してsed
繰り返す必要はありません。
sed -s -i -r '/^.{9}$/d' ./*.txt