*.txt
私のディレクトリにファイルがあるとしましょうtxtpath=/path/to/txt/
。
*.txt
.$txtpath
$txtpath
ls *.txt $txtpath
*.txt
$txtpath
次のコマンドを使用してファイルを一覧表示しました。find $txtpath -name '*.txt' | sed 's/\// /g' | grep -o '[^ ]*$'
しかし、よりエレガントな解決策がありますか?
答え1
パターンとともにフルパスを指定します。
ls -d -- "${txtpath}"/*.txt
事実にもかかわらずチェックリストこれはシェルグロービングによって行われ、ls
最終的にシェルから受け取ったパラメータのみが印刷されます。printf
ここでも使用できます。
printf '%s\n' "${txtpath}"/*.txt
txt
ディレクトリに(一致しないグローバルコマンドを抑制しないシェルで)隠しファイルがない限り、同じ結果を提供します。