sed は特定の位置に文字を挿入します。

sed は特定の位置に文字を挿入します。

*.txt共通形式のファイルが何百ものあります。

ファイル内の特定の場所にカンマを挿入できます。次のコードを一般化して*.txtディレクトリ内のすべてのファイルに対して複数の場所に適用するにはどうすればよいですか?

sed -i 's/^\(.\{4\}\)/\1,/' blank.txt

たとえば、位置4、8、22などにカンマを挿入します。

たぶんこんなことはありませんか?

for i in *.txt; do
   sed -i 's/^\(.\{4\}\)/\1,/' $i
done

ベストアンサー1

一般的なあなたがこれをすることができる方法:

sed 's/./&,/4' <in >out

これにより、少なくともその文字数を含むすべての入力行の4番目の文字に出力時にカンマが追加されます。

そして私のアドバイスを受け入れるならば、一般的に次のようにしなければなりません。いいえ提供されているオプション-iのいずれかに切り替えるには、スイッチを使用してください。sed

おすすめ記事