ファイル、ディレクトリのバックアップ †
説明 †
- ファイルもディレクトリも同様にバックアップ
- 引数が2つでsource, destの指定
- 引数が1つでバックアップファイル名がsource.bkと勝手に名付ける。
- mvしてるんで元ファイル消します。てことはバックアップじゃないな。cpにして。
コード †
#!/bin/sh
BackupFile() {
case ${#} in
1)
SOURCE=${1}
DEST=${1}.bk
;;
2)
SOURCE=${1}
DEST=${2}
;;
*)
return 1
esac
if [ -f "${SOURCE}" -o -d "${SOURCE}" ]
then
if [ -f "${DEST}" -o -d "${DEST}" ]
then
rm -fr ${DEST}
fi
mv ${SOURCE} ${DEST}
fi
return 0
}
利用例 †
$ BackupFile "/home/down/aaa/" ←/home/down/aaa.bk/ ができる
文字列の取得 †
キーセンテンスの次の1単語を取得 †
コード †
# aaa bbb ccc の次の1単語を表示
TEXT='aaa bbb ccc ddd eee fff'
KEY='bbb ccc'
KEYCOUNT=`echo "${KEY}" | wc -w`
echo "${TEXT}" | \
sed -e "s/.*${KEY}/${KEY}/g" | \
awk '{print $'`expr "${KEYCOUNT}" + 1`'}'
出力 †
ccc
キーセンテンス以降から末尾までを表示 †
コード †
# bbb ccc の次から末尾までを表示
TEXT='aaa bbb ccc ddd eee fff'
KEY="bbb ccc"
echo "${TEXT}" | sed -e "s/.*${KEY}[ \t]//g"
出力 †
ddd eee fff
まとめ †
#!/bin/sh
# \brief get the next word of keyword('_KEY') in text('_TEXT').
# \param ${1} _TEXT text
# \param ${2} _KEY keyword
# \retval none(do not scan args)
# \remark this function return text.
GetNextWord() {
_TEXT="${1}"
_KEY="${2}"
_KEYCOUNT=`echo "${KEY}" | wc -w`
echo "${_TEXT}" \
| sed -e "s/.*${_KEY}/${_KEY}/g" \
| awk '{print $'`expr "${_KEYCOUNT}" + 1`'}'
}
# \brief get the next word"s" of keyword('_KEY') in text('_TEXT').
# \param ${1} _TEXT text
# \param ${2} _KEY keyword
# \retval none(do not scan args)
# \remark this function return text.
GetNextWords() {
_TEXT="${1}"
_KEY="${2}"
echo "${_TEXT}" | sed -e "s/.*${_KEY}[ \t]//g"
}
TEXT='aaa bbb ccc ddd eee fff'
# aaa bbb ccc の次の1単語を表示
KEY="bbb ccc"
GetNextWord "${TEXT}" "${KEY}"
# bbb ccc の次から末尾までを表示
KEY="bbb ccc"
GetNextWords "${TEXT}" "${KEY}"
最新の20件
2015-05-15
2014-12-07
2008-11-17
2007-08-30
2007-04-21
2007-03-13
2007-03-12
2007-02-20
2007-02-14
2007-02-04
2006-11-26
2006-11-23
2006-11-20
2006-11-18
2006-11-13
- counter: 508
- today: 1
- yesterday: 0
- online: 1