ファイル名のみの取得とディレクトリパスのみの取得方法 †フルパスのファイル名情報をファイル名のみとディレクトリパスのみに分解(分離)したい場合の例を以下に記します。 basenameとdirname †basenameコマンドとdirnameコマンドを使用することにより、ファイル名のみ、ディレクトリパスのみを取得することができます。 basenameコマンド †basenameコマンドは、ファイル名のみ取得することができます。 basename <path/filename> 実行例 $ basename /var/log/boot.log boot.log dirname †dirnameコマンドは、ファイル名を除きパス名のみ取得することができます。 dirname <path/filename> 実行例 $ dirname /var/log/boot.log /var/log その他実行例 †以下に/etc以下のサブディレクトリを含むファイル一覧をfindで出力し、csv形式で出力してみます。 for T in `find /etc`; do P=`dirname $T`; F=`basename $T`; echo "$P,$F"; done 実行すると以下のようになります。 <省略> /etc,console-setup /etc/console-setup,compose.VISCII.inc /etc/console-setup,compose.ISO-8859-6.inc /etc/console-setup,compose.ISO-8859-4.inc /etc/console-setup,compose.ISO-8859-5.inc /etc/console-setup,compose.ISO-8859-10.inc /etc/console-setup,compose.ISO-8859-9.inc /etc/console-setup,compose.TIS-620.inc /etc/console-setup,cached.kmap.gz /etc/console-setup,compose.ISIRI-3342.inc /etc/console-setup,compose.ISO-8859-7.inc /etc/console-setup,compose.GEORGIAN-ACADEMY.inc /etc/console-setup,compose.CP1255.inc /etc/console-setup,compose.ISO-8859-11.inc /etc/console-setup,compose.ISO-8859-13.inc /etc/console-setup,compose.ISO-8859-1.inc /etc/console-setup,compose.KOI8-R.inc /etc/console-setup,compose.ISO-8859-15.inc /etc/console-setup,compose.ARMSCII-8.inc <省略> 以上、basenameとdirnameコマンドの紹介でした。 |