1
1

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.

シェル覚え書き

Last updated at Posted at 2021-03-09

ファイルのリストアップ

ディレクトリのみを1階層だけリストアップ

findコマンドが使える。リストアップしたいディレクトリが入っているディレクトリのパスをfindの位置引数として指定し、オプションをそのあとに続ける。

例えばカレントディレクトリにあるディレクトリのうち、ディレクトリ名に 'vae' と入っているディレクトリを、1階層だけリストアップするには次のようにする。

> find . -maxdepth 1 -type d -name '*vae*'

./00_vae128_zdim1_seed1_smallbeta
./00_vae128_zdim2_seed1_smallbeta
./00_vae128_zdim3_seed1_smallbeta
./00_vae128_zdim4_seed1_smallbeta
./00_vae128_zdim5_seed1_smallbeta
./00_vae128_zdim6_seed1_smallbeta
./00_vae128_zdim7_seed1_smallbeta
./00_vae128_zdim8_seed1_smallbeta
./00_vae128_zdim9_seed1_smallbeta
./00_vae128_zdim10_seed1_smallbeta

-maxdepth 1でディレクトリツリーを最大1階層しか辿らないことを、-typeでファイルの種類を示している。-nameでファイル絞り込みのためのワイルドカード文字列を指定できる。

※ -maxdepthと-typeの指定の順番を逆にすると以下のような警告が出てくる。

find: 警告: オプションでない引数 -type の後に -maxdepth オプションを指定しました。しかし位置オプションではありません (-maxdepth は前に指定しても後に指定してもテストに影響を及ぼします)。オプションは他の引数の前に指定してください。

タイムスタンプでソートしてリストアップ

ls -ltで降順、ls -ltrで昇順ソートされる。

> ls -lt *.tif | head
-rwxrwxrwx 1 1026 users 203979620 Nov  4 09:05 211101_A-3_Ca_478-9_009.tif
-rwxrwxrwx 1 1026 users 206461624 Nov  4 09:05 211101_A-3_Ca_478-9_008.tif
-rwxrwxrwx 1 1026 users 207879680 Nov  4 09:04 211101_A-3_Ca_478-9_007.tif
-rwxrwxrwx 1 1026 users 208669668 Nov  4 09:04 211101_A-3_Ca_478-9_006.tif
-rwxrwxrwx 1 1026 users 208702608 Nov  4 09:04 211101_A-3_Ca_478-9_005.tif
-rwxrwxrwx 1 1026 users 207961504 Nov  4 09:03 211101_A-3_Ca_478-9_004.tif
-rwxrwxrwx 1 1026 users 201963510 Nov  4 09:03 211101_A-3_Ca_478-9_003.tif
-rwxrwxrwx 1 1026 users 195543392 Nov  4 09:03 211101_A-3_Ca_478-9_002.tif
-rwxrwxrwx 1 1026 users 207846782 Nov  4 09:02 211101_A-3_Ca_478-9_001.tif
-rwxrwxrwx 1 1026 users 193915162 Nov  4 08:56 211101_A-3_Ca_478-5_009.tif

> ls -ltr *.tif | head
-rwxrwxrwx 1 1026 users 206022970 Nov  1 16:15 211101_A-3_Ca_120-1_001.tif
-rwxrwxrwx 1 1026 users 207303166 Nov  1 16:15 211101_A-3_Ca_120-1_002.tif
-rwxrwxrwx 1 1026 users 207240810 Nov  1 16:15 211101_A-3_Ca_120-1_003.tif
-rwxrwxrwx 1 1026 users 206921152 Nov  1 16:16 211101_A-3_Ca_120-1_004.tif
-rwxrwxrwx 1 1026 users 207044330 Nov  1 16:16 211101_A-3_Ca_120-1_005.tif
-rwxrwxrwx 1 1026 users 206776298 Nov  1 16:16 211101_A-3_Ca_120-1_006.tif
-rwxrwxrwx 1 1026 users 206934752 Nov  1 16:16 211101_A-3_Ca_120-1_007.tif
-rwxrwxrwx 1 1026 users 206703722 Nov  1 16:17 211101_A-3_Ca_120-1_008.tif
-rwxrwxrwx 1 1026 users 207168048 Nov  1 16:17 211101_A-3_Ca_120-1_009.tif
-rwxrwxrwx 1 1026 users 208477980 Nov  1 16:19 211101_A-3_Ca_120-2_001.tif

テキストファイルの分割

N個のファイルに分割

> split -n l/3 --additional-suffix=.txt task_autorefine_210613_01.txt task_autorefine_210613_01

> ls -1 task_autorefine_210613_01*
task_autorefine_210613_01.txt
task_autorefine_210613_01aa.txt
task_autorefine_210613_01ab.txt
task_autorefine_210613_01ac.txt

-n にN(分割数)のみ与えると、ファイルのバイト数だけ見て分割するため、行の途中でも分割されてしまう。それを避けるには l/N の書式で分割数を指定する。

元ファイル名だけ与えると出力ファイル名は aa ab ac ... のようになってしまうが、コマンドの一番最後にプレフィックス名を与え、加えて--additional-suffixも指定すれば上記のようなファイルが生成される。

ディスク容量、使用量のチェック

duコマンド

カレントディレクトリ以下のディスク使用量チェック

> du -h -d 1
687G    ./projects
0       ./imports
687G    .

-d は depth で、N階層下まで小分けに表示してくれる。

ファイルのフルパスの表示

readlink -f

> ls
hoge

> readlink -f hoge
/data1/kttn/tmp/hoge
1
1
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
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?