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.

ターミナルでディレクトリ内の先頭ファイルを開く

Last updated at Posted at 2021-03-22

発端

大量のファイルがあるディレクトリから, なんでもいいから
1個ファイルを覗きたいというときがあります.
例えば機械学習の大量のアノテーションファイルがあるディレクトリで,
なんでもいいから1個覗いてみて形式を見たいとか.
ls.png
lsして大量に表示されるの嫌ですよね.
llwc.png
ディレクトリの中に17126ものファイルが...

そんなときのワンライナー

$ vim `ls | head -n 1`

コマンドの説明

まず, vimが嫌という人は他のエディタでどうぞ. lessとかでもいいかもしれません.

`コマンド`

これで, ``の中身をコマンドとして処理し, 結果を出力させます. これをvimに渡します.

ls | head -n 1

lsした結果を, headにパイプで渡し, -nオプションで1行だけ抽出します.

もし実行権限がついていて, ファイル名に*がついちゃってるときは

$ vim `ls | head -n 1 | sed s/\*//`

のようにsedで取り除きましょう. chmodしたほうが早そうですが.

さらに, ディレクトリ内にディレクトリが含まれていて, lsしたら最初にディレクトリが表示されてしまうよってときは

$ vim `ls -F | grep -v / | head -n 1`

のようにします.

  • ls -F : ディレクトリ名に / がつくようになる
  • grep -v : ヒットしたもの以外を検索結果に出す

結論

こうなると, このコマンドを打ったほうが早いのか直接ファイル名を打ったほうが早いのかわかりませんね.
今回はエディタでしたが, 他のアプリでも使えます.

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?