あるディレクトリに同じ文字/単語があるすべてのファイルを別のディレクトリに移動します。

あるディレクトリに同じ文字/単語があるすべてのファイルを別のディレクトリに移動します。
rda@MacBook-Pro X.WORK % ls

Assignment1.file Sec3           moremumbo.woot
FICTION.bak     Test-1.bak      mumble.txt
File-1.bat      Test-1.txt      mumbo.file
FundaOfIT.txt       Text-1.xtxt     myunix.txt
MyFave.txt      Text-2.xtxt     thistle.bak
Sec1            coursetext
Sec2            dooda.text

現在のディレクトリ「X.WORK」から文字「t」で終わるすべてのファイルをサブディレクトリSec3に移動する必要があります。 mvコマンドを使用してすべて一緒に移動できますか?

汚れて見えたらすみません。これが最初の質問です。何らかの理由で認知コードをよりクールでクリーンにすることはできません。

答え1

以下はデフォルトのシェルワイルドカードです。

mv ./*t Sec3/

シェル(いいえ mv- これ非常に覚えておく価値がある重要な違い)これを次のように拡張します。

mv ./moremumbo.woot ./mumble.txt ./Test-1.txt ./FundaOfIT.txt ./Text-1.xtxt ./myunix.txt ./MyFave.txt ./Text-2.xtxt ./coursetext ./dooda.text Sec3/

(ソートされている可能性がありますが、その順序ではありません。ソート順序を表示するには、またはecho代わりls -ldに使用してください)mv

./しかし、必ずしも必要ではない場合でも、プレフィックスを使用することをお勧めします。これは、残念ながら、名前付きファイルが誤って(または悪意のあるように)オプションとして解釈されるのを防ぐためですmv。たとえば、-tディレクトリにファイル名がある場合*t(プレフィックスなし./)、拡張されて引数リストに含まれ、mvファイル名ではなくオプションとして解釈されます。 GNUの場合mv-t略語--target-directory今後それ以降以外のパラメータ)。

/ディレクトリ名に末尾の文字を使用するのも良い習慣です。ファイルをディレクトリに移動またはコピー(またはrsyncなど)しようとしたときに誤ってファイルを上書きまたは作成するのを防ぎます。

関連情報