0
我有一個bash腳本,通過一個文件行(a.txt
)循環包含gzip文件列表的路徑,並使用zgrep
在每個文件中搜索短語。命令行和bash腳本中的不同zgrep輸出
我的bash腳本是:
for i in $(cat $1); do
echo $i;
echo zgrep -E '"phrase1|phrase2|phrase3|phrase4|phrase5|phrase6"' $i;
zgrep -E '"phrase1|phrase2|phrase3|phrase4|phrase5|phrase6"' $i;
done
我稱之爲由myscript.sh a.txt
:
輸出是:
zgrep -E "phrase1|phrase2|phrase3|phrase4|phrase5|phrase6" myzippedfile.1.gz
phrase2 48 48.00 48
phrase3 35 35.00 35
phrase4 67 67.00 67
phrase5 99 99.00 99
(重複在a.txt
列出的每個文件)。
但是,當我執行zgrep
命令是在腳本循環內執行,我得到不同的輸出。
執行:
zgrep -E "phrase1|phrase2|phrase3|phrase4|phrase5|phrase6" myzippedfile.1.gz
在命令行收率:
phrase1 29 29.00 29
phrase2 48 48.00 48
phrase3 35 35.00 35
phrase4 67 67.00 67
phrase5 99 99.00 99
phrase6 54 54.00 54
該輸出是正確的,而來自for循環bash腳本所產生的輸出是缺失所述第一行和最後一行。怎麼會這樣?
有沒有人在我的bash腳本中看到任何問題?爲什麼第一行和最後一行會從輸出中丟失?
啊是的!我對bash腳本非常陌生,所以這真的幫了我很大的忙。謝謝! – Brett 2014-12-11 00:46:29