たとえば、bashスクリプトを使用して、ファイル内のテキストからvalue-number-を見つけ、新しい変数を作成して、そのファイル内の文字列に置き換えようとしています。/root/test.txtのファイルに、文字列web1があります。数字の「1」を切り、1ずつ増やして、2になるようにします。次に、web1をweb2に置き換えます。これは、これまでのアイデアです。それを機能させる方法は?
#!/bin/bash
m=grep 'web' /root/test.txt | awk '{print $2}'
i= $m | cut -c3
i=i+1
n='web$i'
$ sed -i 's/$m/$n/g' /root/test.txt
サンプル入力:
project web0
サンプル出力:
project web1
AWKはテキストの検索と置換もできるため、grep
またはを使用する必要はありませんsed
。次のコードは、2番目の列(webN
)から部分文字列を抽出し、インクリメントしてN
、2番目のフィールドを次のように置き換えます。webN+1
$ cat testInput.txt
project web0
other
project web1
$ awk '/web/{ num=substr($2,4)+1;$2="web"num };1' testInput.txt
project web1
other
project web2
これにより、編集したファイルが画面に印刷されます。あなたはそれをそのように別のファイルに保存し、元のファイルawk [rest of code here] > fileName.txt
を新しいものに置き換えることができますmv fileName.txt oldFile.txt
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加