2011-01-20 9 views
4

特定の種類のファイルを特定のディレクトリから一覧表示するにはどうすればよいですか?例えば私はすべての* .csvファイルを/ home/ABC/files /ディレクトリからリストしたいと思います。私は今/ homeディレクトリにいます。 特定のディレクトリから特定の種類のファイルを一覧表示する

for file in ABC/files/*.csv 
do 
    # further processing 
done 

そしてもちろん、これまでに便利ループ

のために使用して

答えて

7

TMTOWTDI

(cd /home/ABC/files/; ls *.csv) 
ls /home/ABC/files/*.csv | sed 's:.*/::' 
ls /home/ABC/files/*.csv | xargs -n1 basename 
ls /home/ABC/files/*.csv | rev | cut -d/ -f1 | rev 
for i in /home/ABC/files/*.csv; do echo "${i##*/}"; done 
+0

最後の行で '$ {f ## * /}'の背後にある論理を説明できますか?またはそれを理解するためにいくつかの読書資料を指す?ありがとう! :D –

3
ls ABC/files/*.csv 
ls /home/ABC/files/*.csv 
+0

ありがとうございます。ありがとうございました。ファイル名と完全なパスではない場合はどうすればよいですか。それは/home/ABC/files/test1.csv、/home/ABC/files/test2.csvのリストですが、test1.csvやtest2.csvのようなファイル名が必要です – yogsma

4
ls ABC/files/*.csv 
ls /home/ABC/files/*.csv 
echo ABC/files/*.csv 
echo /home/ABC/files/*.csv 

。(GNU)

find ABC/file -type f -iname "*.csv" -printf "%f\n" 
+0

"find"についてあなたが言ったコマンドは名前私が望むものではないサブディレクトリからのファイルの – yogsma

+0

'find -maxdepth 1'は一貫していますか? – ephemient