2
我有一個bash腳本,用於處理計算羣集上的文件。爲什麼不使用sed命令?
我試圖操縱的文件格式:
beadSize=6.25
minBoxSize=2.2
lipids=1200
chargedLipids=60
cations=0
HEAD=0
CHEAD=-2
BODY=2
TAIL=3
ION=-1
RHO_BODY=10
RHO_TAIL=14
tol=1e-10
lb=7.1
FTsize=8
ROUNDS=1000000
ftROUNDS=10
wROUNDS=1000
dt=0.01
alpha=1
transSize=0.15
transSizeZ=0.0
ionsTransSize=2.8
ionsTransSizeZ=2.8
rotateSize=0.18
volSize=8
modSize=0.0
forceFactor=2
kappaCV=0
sysSize=26
zSize=300
iVal=1
split=0
randSeed=580
我叫一個循環內的函數:
for per in $(seq 70 -5 5); do
for seed in {580..583}; do
for c in {"fs","fd","bfs","bfd"}; do
let count=$count+1
startJob $per $seed $c $count
done
done
done
和線我用它來操作:
let n=$1*12
echo $n
cat trm.dat | sed '/memFile*/d' | sed '/rStart*/d' | sed '/test*/d'| sed 's/modSize=[0-9.]*/modSize=0.0/' | sed 's/chachargedLipids=[0-9]*/chargedLipids="$n"/' | grep char #> propFile.dat
對於$per=15
,例如,我預計$n==180
。然而,當我運行我看到的腳本:
180
chargedLipids=120
我在做什麼錯?
注 我也曾嘗試使用:
sed "s/chachargedLipids=[0-9]*/chargedLipids=$n/"
具有相同的結果。
命令行以...評論結尾。你必須引用「#」:'... | grep char \#'。你真的有一個名爲'#'的文件嗎?這不應該只是'grep -v \#'什麼的? – fork0 2012-07-18 11:47:43
我認爲你應該刪除這個問題,這有點複雜,其中大部分與sed無關 – perreal 2012-07-18 11:51:11