以下のコマンドは、 *string で終わるすべての隠しファイル/通常ファイルを なしで移動します。またはその前に_。
mv {.,}*[!._]string /destination
上記のコマンドですべてのディレクトリの移動を除外するにはどうすればよいですか?
以下のコマンドは、 *string で終わるすべての隠しファイル/通常ファイルを なしで移動します。またはその前に_。
mv {.,}*[!._]string /destination
上記のコマンドですべてのディレクトリの移動を除外するにはどうすればよいですか?
試す
find /WHERE/TO/FIND -name '*STRING' \( ! -name '*_STRING' -o ! -name '*.STRING' \) -type f -exec mv \{\} /WHERE/TO/MOVE \;
ディレクトリのみからすべてのファイルを移動したい場合/WHERE/TO/FIND
は、追加する必要があることに注意してください-maxdepth 1
(たとえば、-type f
部分の後)。
どうですか:
for file in {.,}*[!._]string; do test -f "$file" && mv "$file" /destination; done
[!._]
で使用すると、グロブは実際にどのシェルで動作し{.,}
ますか? {}
おそらく、表記を避けて次のことを行う方がよいでしょう。
for file in .*[!._]string *[!._]string; do ... ; done