#navi(../)
* ファイル名のみの取得とディレクトリパスのみの取得方法 [#n7247e40]
フルパスのファイル名情報をファイル名のみとディレクトリパスのみに分解(分離)したい場合の例を以下に記します。
#contents
#htmlinsertpcsp(linux_ads_top.html,linux-sp.html)
* basenameとdirname [#idd2105c]
basenameコマンドとdirnameコマンドを使用することにより、ファイル名のみ、ディレクトリパスのみを取得することができます。~
** basenameコマンド [#c9915fc4]
basenameコマンドは、ファイル名のみ取得することができます。~
構文は以下の通りです。
basename <path/filename>
実行例
$ basename /var/log/boot.log
boot.log
** dirname [#a5d27165]
dirnameコマンドは、ファイル名を除きパス名のみ取得することができます。~
構文は以下の通りです。
dirname <path/filename>
実行例
$ dirname /var/log/boot.log
/var/log
* その他実行例 [#va0dccbf]
以下に/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コマンドの紹介でした。
#htmlinsertpcsp(linux_ads_btm.html,linux-sp.html)