0

私のタイトルが十分に説明的でない場合は、お詫び申し上げます。次のようになると思います。各ファイル内にプレーンテキストである3つのファイルがあり、日付です

Date: 2012-08-31 for example

これを見つけて現在の日付に更新するためのコマンド/スクリプトを取得したいのですが、日付は常に変化しており、(ファイルの内容を表示しないと) わからない可能性があります

日付が何であるかを知っていれば、sedで十分に簡単ですが、変更したい行の構文を知っていても特定の値を知っていないので、どうすればこれを行うことができますか. (" Date:" は少なくとも不変です)

4

2 に答える 2

3

日付形式が変更されておらず、3 つのファイルすべてが PWD 内の 3 つのテキスト ファイルのみであると仮定すると、次のGNU sedように使用できます。

sed -r 's/Date: [0-9]{4}-[0-9]{2}-[0-9]{2}/Date: 2012-09-01/g' *.txt
于 2012-09-01T07:55:15.733 に答える
0
today=`date +%F`
sed -r -i '.bak' "s/Date: [0-9]{4}-[0-9]{2}-[0-9]{2}/Date: $today/g" file1 file2 file3
于 2012-09-01T08:05:14.463 に答える