ファイル名ABC.20131212.XX.xml
がXX
HH (時間) であるとします。の値を取得し、XX
それをシステム時間の現在の時間と比較する必要があります。等しい場合は、そのファイルの名前を変更します。したがって、午後 12 時 (12:00) の場合は、ファイルを取得しABC.20131212.12.xml
て名前を変更する必要があります。シェルスクリプトで比較するにはどうすればよいですか?
質問する
156 次
3 に答える
0
使用できるスクリプトは次のとおりです (パスを適宜変更してください): `
!/ビン/バッシュ
パス=/あなたの/パス/ここ/*
$Path の l の場合
行う
a=$l
b=${a%.xml}
xx=${b: -2}
時間=date +"%I"
[[ $time -eq $xx ]] の場合
それから
mv $l /New/file/name/path/newfile.txt
フィ
終わり
出口 0`
于 2013-10-15T18:32:46.933 に答える
0
Bash 組み込みの正規表現マッチングを使用してそれを行う方法は次のとおりです。
file=foobar.11.xml
if [[ $file =~ .*([0-9][0-9])\.xml ]]; then
if [[ "${BASH_REMATCH[1]}" -eq $(date "+%I") ]]; then
# $file has current hour in its name
fi
fi
24 時間制と比較するには、+%H
with オプションを使用します。date
于 2013-10-15T09:58:32.370 に答える