私は bash スクリプトを書いており、ファイルの種類を確認したいと考えています。さまざまなファイルを含むディレクトリがあるとします。すべてのファイルをチェックして、そのタイプを確認したい。
「OK、このファイルはディレクトリです」、「このファイルはパイプです」、「このファイルはリンクです」などのコマンドが必要です。
ls -la
それらについてすべて教えてください。最初の文字を確認するだけです。例えば:
lrwxrwxrwx 1 kent kent 12 Apr 8 18:54 imlink -> /fpath/foo
-rw-r--r-- 1 kent kent 242 Apr 10 16:40 file
drwxr-xr-x 2 kent kent 40 Apr 10 17:21 d/
上記の例では
l: link
-: file
d: dir
また、この awk 行を書くこともできます:
ls -la | awk '{t=(/^d/?"Directory":/^-/?"File":/^l/?"Link":"unknown");print $NF "---" t}'
次のような出力が得られます。
d/---Directory
file---File
./.gitignore---Link
outputaa---File