シェルスクリプト内頻出コマンド のバックアップ(No.2)


シェルスクリプトを組むときに,良く使うコマンド.

ファイル,ディレクトリ

ファイルに出力

$ echo /foo/bar > path.txt
$ cat path.txt
/foo/bar

find

dirname

dir=`dirname $file`

現在のディレクトリパスをシェル変数にいれる

$ cd ~/ksp/prog/script/src
$ CURRENT_DIR=`pwd`
$ echo $CURRENT_DIR
/home/sakima/ksp/prog/script/src

pwdコマンドはバッククォートで括ることに注意します.

2つのパスの差を出力

$ TARGET_DIR=/home/sakima/ksp $ CURRENT_DIR=/home/sakima/ksp/prog/script/src $ echo ${CURRENT_DIR#$TARGET_DIR} /prog/script/src

/xxx(xは英数_-)を ../ に置換

$ DIFF_PATH=/prog/script/src $ echo $DIFF_PATH | sed -e "s%/[A-Za-z0-9_\-]*%../%g" ../../../

相対パスを作成

以上の3つを組み合わせて,カレントディレクトリから,ある(カレントディレクトリよりも上位に位置する)ターゲットディレクトリへの相対パスを作成することができます.

$ CURRENT_DIR=`pwd` $ TARGET_DIR=~/ksp $ DIFF_PATH=`echo ${CURRENT_DIR#$TARGET_DIR}` $ RELATIVE_PATH=`echo $DIFF_PATH | sed -e "s%/[A-Za-z0-9_\-]*%../%g"` $ echo $RELATIVE_PATH ../../../

ストリーム

「href="..."」 の 「"」で括られた部分のみを抽出

sed -n -e '{ s/.*href="\([^"#?]*\).*$/\1/p }'
Valid XHTML 1.1! home >
トップ 一覧 検索 最終更新 バックアップ   ヘルプ   最終更新のRSS
Modified by 物理のかぎプロジェクト PukiWiki 1.4.5_1 Copyright © 2001-2005 PukiWiki Developers Team. License is GPL.
Based on "PukiWiki" 1.3 by yu-jiPowered by PHP 5.3.29HTML convert time to 0.007 sec.