find unixコマンドを使用して絶対パスを取得する方法

find unixコマンドを使用して絶対パスを取得する方法

find コマンドを使用して絶対パスを取得する方法。
実際、次のスクリプトを実行しています。

find . -size +20M | while read a
do
     i=$(echo $a | sed 's:/: :g')
     echo $a;
     j=($i)
     fileName=${j[${#j[@]}-1]}
     userName=${j[${#j[@]}-3]}
done

ただし、ここでは変数は$a開始からのパスを示します./Downloads/filenameが、開始から絶対パスが必要です/

ベストアンサー1

絶対パスで検索を使用します。

find /path/ -size +20M

フルパスが印刷されます。
作業ディレクトリがわからない場合は、次のようにコマンド置換を使用してくださいpwd

find "`pwd`" -size +20M 
   #or like this:
find "$(pwd)" -size +20M

作業ディレクトリのインポート

とにかく Bash man は$()over の使用を推奨しているようですので、2 番目の``形式を使用する必要があります。また、スクリプトの作業ディレクトリを含む変数を直接参照することもできます。$PWDこれは、ループで使用する必要がある場合はより高速です。

find "$PWD" -size +20M

おすすめ記事