我做了一個shell腳本,我可以使用我的播放列表爲MPD。我用它來按文件夾和藝術家編寫歌曲,但是當我嘗試使用awk刪除腳本末尾的重複項時,輸出變爲空。在shell腳本中包含awk使輸出爲空?
繼承人的腳本:
(
mpc search artist 'Black Coast' &&
mpc search artist 'ASTR' &&
ls ~/music/HDD/Chill | awk '$0="HDD/Chill/"$0'
) | tee testi.txt;
awk '!v[$0]++' testi.txt | tee testi.txt
awk的上述前綴字符串正確但是如果我添加了產量低於AWK是一個空文件。但是,該行在腳本文件之外工作。
編輯:它的工作原理與
(
mpc search artist 'Black Coast' &&
mpc search artist 'ASTR' &&
ls ~/music/HDD/Chill | awk '$0="HDD/Chill/"$0'
) | awk '!v[$0]++' | tee testi.txt
所以我quess改爲爲什麼上面的例子不能正常工作的問題?
爲什麼兩個'tee's?爲什麼你有一個臨時文件? –
如果你有GNU awk,你可以進行就地編輯。還有moreutils的海綿:http://unix.stackexchange.com/a/207921/70524 – muru