假設我想要刪除一堆文件中的相同行。我有一個簡單的bash腳本是這樣的:使用sed批量刪除多個文件中的多行
st=$1
en=$2
shift 2
for i in $*; do
echo "sed -i -e '${st},${en}d' $i"
sed -i -e '${st},${en}d' $i
done
我稱之爲是這樣的:
[03:18] ./cleanup.sh 2731 3009 trace_X+0.01080_Y+0.00309_Z-0.00000.dat
,我得到
sed -i -e '2731,3009d' trace_X+0.01080_Y+0.00309_Z-0.00000.dat
sed: -e expression #1, char 12: unterminated `s' command
我在做什麼錯?我試圖在調用語句中的變量或文件名周圍添加更多引號,但沒有運氣...
感謝您的幫助!
順便說一句,'$ *'是錯誤的;在$ @「'中使用'for i。 – 2012-01-05 00:58:52