シェルを使用してファイルを検索し、値を置き換えることはできますか? サービスをインストールするときに、構成ファイルで変数を検索し、その値に独自の設定を置き換え/挿入できるようにしたいと考えています。
質問する
53000 次
7 に答える
29
もちろん、sed または awk を使用してこれを行うことができます。例:
sed -i 's/Andrew/James/g' /home/oleksandr/names.txt
于 2012-06-01T20:16:53.590 に答える
9
sed を使用して検索/置換を実行できます。私は通常、これを bash シェル スクリプトから実行し、置換する値を含む元のファイルを新しい名前に移動し、sed を実行して、次のように元のファイル名に出力を書き込みます。
#!/bin/bash
mv myfile.txt myfile.txt.in
sed -e 's/PatternToBeReplaced/Replacement/g' myfile.txt.in > myfile.txt.
出力を指定しない場合、置換は stdout に送られます。
于 2012-06-01T22:23:34.043 に答える
2
sed -i 's/variable/replacement/g' *.conf
于 2012-06-01T20:18:30.050 に答える
1
これを行うには sed を使用できます。
sed -i 's/toreplace/yoursetting/' configfile
sed はおそらく、そこにあるすべての UNIX のようなシステムで利用可能です。複数のオカレンスを置き換えたい場合は、s コマンドに ag を追加できます。
sed -i 's/toreplace/yoursetting/g' configfile
置換値を正しく指定しないと、構成ファイルが完全に破壊される可能性があるため、注意してください。sed は、検索と置換で正規表現もサポートしています。
于 2012-06-01T20:17:54.027 に答える
1
UNIX パワー ツールの awk、sed、grep、およびPerl を使用したファイルのインプレース編集を見てください。
于 2012-06-01T20:23:37.470 に答える
1
filepath="/var/start/system/dir1"
searchstring="test"
replacestring="test01"
i=0;
for file in $(grep -l -R $searchstring $filepath)
do
cp $file $file.bak
sed -e "s/$searchstring/$replacestring/ig" $file > tempfile.tmp
mv tempfile.tmp $file
let i++;
echo "Modified: " $file
done
于 2014-06-01T22:14:23.457 に答える
0
通常、これには awk や sed などのツールが使用されます。
$ sed -i 's/ugly/beautiful/g' /home/bruno/old-friends/sue.txt
于 2012-06-01T20:17:19.007 に答える