2012-09-22 48 views
0

誰能告訴我什麼是錯用下面的bash代碼bash的輸入/輸出重定向不起作用

for f in $FILES 
do 
    cut -d, f1-7 < $f > $f.tmp 
done 

當我在循環中運行

echo "cut -d, f1-7 < $f > $f.tmp" 

我得到正確的命令輸出當我自己運行這個命令時,它完美地工作。但是當我在bash循環中運行它時,它不起作用,我得到以下錯誤:

cut: you must specify a list of bytes, characters, or fields 
Try `cut --help' for more information. 

任何想法?

+3

我想你可能忘記了「 - 」之前「f1-7」,你可能有逃避逗號 – Qnan

+0

@Qnan在其實這就是答案! –

+0

是的,我是個白癡,我只是浪費了半個小時。 – user788171

回答

2

我覺得你在剪切命令錯過一個減號:

cut -d, -f1-7 < $f > $f.tmp