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など)しようとしたときに誤ってファイルを上書きまたは作成するのを防ぎます。