2012-10-25 29 views
1

我試圖按順序排列input_directoryoutput_directory中的文件。單獨排序目錄中的所有文件

我知道如何爲單個文件具體步驟如下:

sort filename > newfilename 

但是,想什麼,我的節目做的是爲每個文件在input_directory如下:

sort file_in_directrory > output_file_in_directory 

我該怎麼做?

我正在使用cygwin排序。

回答

1

使用for循環:

for file in $(ls /PATH/TO/INPUT/DIR); 
do 
    sort /PATH/TO/INPUT/DIR/$file > /PATH/TO/OUTPUT/DIR/$file; 
done 

注意,如果任何輸入目錄中的文件是一個目錄,然後sort命令將失敗,因爲某種需要一個文件作爲輸入。

+0

非常感謝!它幾乎奏效。除了我必須修改如下:用於$(ls/PATH/TO/INPUT/DIR /)中的文件; do sort/PATH/TO/INPUT/DIR/$ file>/PATH/TO/OUTPUT/DIR/$ file; 完成 – Roark

+0

@Emre歡迎您!我糾正了這一點:) –

+0

我也有一個相關的問題。我認爲這很簡單,如果你可以幫助我,那麼我會非常滿意。http://stackoverflow.com/questions/13078900/bash-script-iterative-merge-files-on-a - 目錄 – Roark