私のシェルスクリプトには、次のコードがあります
echo * | tr ' ' '\n'
ここで、 * を使用していたにもかかわらず、隠しファイルをスキップしていることに気付きました(.*) その後、明らかな変更を試みました
echo .* | tr ' ' '\n'
これにより、隠しファイルの問題が解決しました。しかし、私は*のこの奇妙な振る舞いに興味があります
.* は *
のサブセットであるため、望ましい出力
echo * -> 隠しファイルを含むすべてのファイル
echo .* -> すべての隠しファイル
echo [^.]* -> 非表示でないすべてのファイル (現在は echo *)
したがって、echo * は echo [^.]* のように動作します。
エコーを使用して隠しファイルを含むファイルの完全なリストを取得するにはどうすればよいですか。ls -a は望ましい出力を与えていましたが、ls と dir の出力も同様でした。