0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

[UNIX] 複数ファイルの移動

Last updated at Posted at 2020-11-27

ディレクトリ中の複数のファイルを一気に移動させたい場面に遭遇したのでまとめてみました。

  1. ある規則に沿ってまとめる
  2. 数で区切ってまとめる

の方法があります。(私は2の方がやりたかった、、)

1. ある規則(ファイルのフォーマットなど)に沿って分ける

ワイルドカードを使用します。
例えばcsvファイルだけ別のディレクトリに移したい場合、以下のようにできます。

main.sh
mkdir /path/to/subdir/
mv /path/to/supdir/*.csv  /path/to/subdir/

これ以外でも頭文字などで絞ってまとめることもできます。

2. 数で区切って分ける

単純にディレクトリ内のファイル数を減らしたい時は、for文と
ls -1を使います(エルでなく、いち。ファイル名だけ一行ずつ表示してくれる)。

main.sh
for file in `ls -1 | head -n 120` 
do 
mv $file /path/to/subdir/. 
done

これで120個まとめて動かすことができました。
ls のなかでワイルドカードを使えばファイルフォーマットなどを指定することができます(例えば中にあるディレクトリは動かしたくない場合など)。ただlsで表示されるパス名が思い通りにならないことがあるので、各ファイルがあるディレクトリで操作してください。(上手い方法があれば教えてください)

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?