0
改變特定位置的字符我有我想以編程方式改變設置不同的參數文件:如何使用shell變量
$ cat ex.dat
line 1
here's another line
this is the number I want to change --> 1e-11
more lines
我想改變1e-11
的價值觀5.
,10
和20.
。類似這樣的:
mkd()
{
mkdir $1;
cd $1
}
for j in 1 2 3 4 5 ; do
mkd WS$j
cp ../ex.dat .
sed -ie '3s/1e-11/${j}./' ex.dat
cd ..
done
我的方法不起作用。我如何將1e-11
替換爲$j
的值?
$ cat WS3/ex.dat
line 1
here's another line
this is the number I want to change --> ${j}.
more lines
你是什麼意思*「不工作」*?解釋具體行爲對其他人有幫助...... –
_Double-quote_'sed'腳本確保'$ {j}'被shell擴展。 '-ie'也會創建一個後綴爲'e'的備份文件,也許你打算使用'-i -e',或者簡單地使用'-i'。另外,一般情況下雙引號所有shell變量引用,以防止不必要的修改。 – mklement0