何百もの*.txt
一般的な形式のファイル。
1つのファイルの特定の位置にコンマを挿入できます。以下のコードを一般化して、すべての*.txt
files in the directory?
sed -i 's/^\(.\{4\}\)/\1,/' blank.txt
たとえば、位置4、8、22などにコンマを挿入します。
おそらくこのような何か?
for i in *.txt; do
sed -i 's/^\(.\{4\}\)/\1,/' $i
done
一番右から始めます:
sed -i 's/./&,/22;s/./&,/8;s/./&,/4' ./*.txt
それ以外の場合、最初の置換は2番目の置換に影響します。ただし、いつでも説明できます。
sed -i 's/./&,/4;s/./&,/9;s/./&,/24' ./*.txt
一般の方法では、次のようにすることができます:
sed 's/./&,/4' <in >out
これにより、出力時に、少なくともその数の文字を含むすべての入力行の4番目の文字にコンマが追加されます。
そして、もしあなたが私のアドバイスを取るなら、あなたは一般的にnot-i
提供するsed
に切り替えます。