bash:ファイル内の指定された場所に文字を挿入する

bash:ファイル内の指定された場所に文字を挿入する

次のファイルがあるとしましょう。

word1          something       blabla
anotherword    somethingelse   asdf
yetanother     else            123

各行に対して、2番目の列の前にコメントを追加する必要があります。このコメントは常に位置15で始まります(たとえば、#位置15に挿入されます)。どうすればいいですか?

ベストアンサー1

そのオプションsedがGNUまたは互換性があると仮定¶-r

sed -r -e 's/^.{15}/&#/' file

明らかにする

word1          #something       blabla
anotherword    #somethingelse   asdf
yetanother     #else            123

1これは拡張正規表現サポートのためのものです。他のほとんどの人はこれをsedサポートしています-E(バージョン4.2のGNUを含む、sed4.3までは文書化されていませんが、この回答が最初に書かれてからずっと後に公開されました)。これは現在POSIX規格の2023バージョンにあるためです。-E/がない場合はを使用-rします。\{...\}{...}

おすすめ記事