この質問にはすでに回答があります :すべてのファイル(非表示を含む)をあるディレクトリから別のディレクトリに移動するにはどうすればよいですか?
(12の回答)
6年前に閉鎖されました。
Linux
(12の回答)
6年前に閉鎖されました。
現在の(.
ではなく、すべての隠しファイルとディレクトリをグロブしたい )および親ディレクトリ(..
。
私はbashを使用しています。
現在の行動を観察する:
$ ls -a
. .. ...a ...aa ..a ..aa .a .aa .aaa a
$ echo *
a
$ echo .*
. .. ...a ...aa ..a ..aa .a .aa .aaa
.*
が欲しいのですが このように振る舞う
$ echo .*
...a ...aa ..a ..aa .a .aa .aaa
シェルオプションdotglob
があります
$ shopt -s dotglob
それはある意味で機能します。これで*
を使用できます .
および..
$ echo *
...a ...aa ..a ..aa .a .aa .aaa a
でも今は隠されているかどうか区別できませんまた、.*
まだ.
をグロブします および..
$ echo .*
. .. ...a ...aa ..a ..aa .a .aa .aaa
.*
を作成する方法はありますか .
および..
?
承認された回答:
GLOBIGNORE
を使用できます .
および..
ディレクトリ。これにより、dotglob
も自動的に設定されます オプションなので、*
非表示のファイルと非表示のファイルの両方に一致するようになりました。 dotglob
の設定を手動で解除することもできます ただし、これにより、必要な動作が得られます。
この例を参照してください:
$ ls -a
. .. a .a ..a
$ GLOBIGNORE=".:.."
$ shopt -u dotglob
$ echo * # all (only non-hidden)
a
$ echo .* # all (only hidden)
.a ..a