2017-04-27 68 views
1

當試圖將輸出重定向到目錄時,出現以下錯誤。將輸出重定向到目錄

-bash: ua/: Is a directory 

我知道這是一個目錄。我如何將輸出重定向到它?以下是我正在嘗試的。謝謝。

for file in .; do cut -d '"' -f 4 $file > ua/; done 
+0

您是否試圖將您的輸出重定向到一個新文件? – KeithC

回答

2

<重定向操作需要一個程序的輸出,並把它放在一個文件。自然,目錄不能像文件一樣擁有「內容」,所以這個操作符對目錄沒有意義。這就是你得到錯誤的原因。

我想認爲你要做的就是把文件的轉換後的內容放到目錄中同名的新文件中。同樣,重定向操作符沒有輸入源的概念 - 不知道它最初來自文件,更不用說那個文件被調用了。話雖這麼說,只是重定向到該目錄內的同名文件:

for file in ./*; do cut -d '"' -f 4 $file > ua/$file; done 

編輯:,您將面臨的下一個問題是,你的for file in .沒有做你的期望。實際上這個「循環」只能循環一次,用$ file =「。」。您可能想要利用擴展並執行諸如for file in ./*.txt之類的操作來迭代所有文本文件。

+0

謝謝。但是下面的錯誤仍然存​​在。用於文件的 ; do cut -d'''-f 4 $ file> ua/$ file; done – martinbshp

+0

請參閱編輯@martinbshp – Sinkingpoint

+0

@Sinkingpoint您沒有複製得不夠好,忘了'ua /'後面的'$ file' –