同じUnixディレクトリにあるすべてのファイルに共通のプレーンテキスト行を追加したい。すべてのファイルにある特定のキーワードの上にこれを追加し、を使用して保存したい!wq。
以下のスクリプトを試しましたが、特定のキーワードの上に1行または1単語しか追加できません。これの上に、複数行を追加する必要があります。
for i in *;
do sed -i 's/KEYWORD/datatoinsert\nKEYWORD/' "$i";
done
誰かがPythonでこれを試したとしても、私もそれを試したいと思います。
ループは必要ありません。簡単なsed
編集で「プレーンテキスト」行を追加できます。
$ sed -i '/keyword/s/^/plain text\n/' *
サンプルファイル
$ cat file1.txt
word
keyword
rest
使用例/変更
$ sed -i '/keyword/s/^/plain text\n/' *
$ cat file1.txt
word
plain text
keyword
rest
sed
コマンドを次のように分類できる場所
sed -i
その場でファイルを編集する
/keyword/
を含む行を見つける keyword
s
代替コマンド、例えば s/find/replace/
^
行の先頭に一致する
plain text\n
置換テキスト
したがって、基本的に、それを含む行の先頭を見つけ、そこに独自の改行を含むkeyword
テキストplain text\n
を置き換え(挿入)します。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加