ターミナルでディレクトリ内の先頭ファイルを開く
発端
大量のファイルがあるディレクトリから, なんでもいいから
1個ファイルを覗きたいというときがあります.
例えば機械学習の大量のアノテーションファイルがあるディレクトリで,
なんでもいいから1個覗いてみて形式を見たいとか.
lsして大量に表示されるの嫌ですよね.
ディレクトリの中に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 : ヒットしたもの以外を検索結果に出す
結論
こうなると, このコマンドを打ったほうが早いのか直接ファイル名を打ったほうが早いのかわかりませんね.
今回はエディタでしたが, 他のアプリでも使えます.
Author And Source
この問題について(ターミナルでディレクトリ内の先頭ファイルを開く), 我々は、より多くの情報をここで見つけました https://qiita.com/mmtd/items/f629ba0af8840036e2d7著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .