$VAR
例:たとえば、40の異なる変数があります.txt
。/home/user/EXAMPLE/
100個のファイル内のすべての変数をどのように変更できますか?
変数が何であるかをシステムに知らせるには、同様のファイルまたは.csv
区切り.txt
文字を持つファイルを使用することをお勧めします。例:
$VAR=x
$VAR2=xx
$VAR3=xxx
一括編集方法をご存知ですか?
答え1
質問を2つの部分に分けます。
- ファイルトラバース
- ファイルへの代替の適用
ディレクトリにある場合は、EXAMPLE
次のようにすべてのファイルを繰り返すことができます。
for file in *.txt
do
echo "Considering file $file"
done
$PATH
理想的には、既存のシェル変数(または)と競合しない一連の変数を置き換えるには、を$HOME
使用できますenvsubst
。
variables.sh
各行の形式で次のファイルを作成します。
export varname=value
export anothername='a longer value'
その後、このコードを使用して名前付きファイルなどの$varname
変数を置き換えることができます。$anothername
( . variables.sh; envsubst ) <"$file" >"$file.tmp" &&
mv -f "$file.tmp" "$file"
以下を一緒に使用してください。
for file in *.txt
do
echo "Considering file $file"
( . variables.sh; envsubst ) <"$file" >"$file.tmp" &&
mv -f "$file.tmp" "$file"
done