シェルスクリプト内頻出コマンド の変更点


 シェルスクリプトを組むときに,良く使うコマンド.
 
 #contents
 
 
 * ファイル,ディレクトリ [#af3efb19]
 
 ** ファイルに出力 [#ia6084aa]
 
  $ echo /foo/bar > path.txt
  $ cat path.txt
  /foo/bar
 
 ** find [#z9d93e32]
 
 ** dirname [#vf59bf04]
 
  dir=`dirname $file`
 
 ** 現在のディレクトリパスをシェル変数にいれる [#ieedb34d]
 
  $ cd ~/ksp/prog/script/src
  $ CURRENT_DIR=`pwd`
  $ echo $CURRENT_DIR
  /home/sakima/ksp/prog/script/src
 
 pwdコマンドはバッククォートで括ることに注意します.
 
 ** 2つのパスの差を出力 [#ka9cc366]
 
  $ TARGET_DIR=/home/sakima/ksp
  $ CURRENT_DIR=/home/sakima/ksp/prog/script/src
  $ echo ${CURRENT_DIR#$TARGET_DIR}
  /prog/script/src
 
 ** /xxx(xは英数_-)を ../ に置換 [#vbb47b34]
 
  $ DIFF_PATH=/prog/script/src
  $ echo $DIFF_PATH | sed -e "s%/[A-Za-z0-9_\-]*%../%g"
  ../../../
 
 ** 相対パスを作成 [#ye41ac96]
 
 以上の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
  ../../../
 
 
 * ストリーム [#hfc0bc09]
 
 「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.002 sec.