1

ソースファイルとターゲットファイルが似ているはずの状況があります。ソースファイルには、以下のような情報セットがあります。ソース ファイルとターゲット ファイルの各情報セットを比較する必要があります。ターゲット ファイルに何か不足がある場合は、その行をターゲット ファイルに書き込む必要があります。行ごとに一致させることもできましたが、ソース ファイルとターゲット ファイルのセットが正しくありません。シェルスクリプトを使用して達成する方法を教えてください。

ソースファイル:

[Set.1]
value=1
date=today

[Set.2]
value=2
date=today

対象ファイル:

[Set.2]
value=2

[Set.1]
value=1
date=today

ご覧のとおり、ターゲット ファイルの [Set.2] に日付が欠落しているため、ソース ファイルからコピーする必要があります。

4

3 に答える 3

0

以下のコマンドにより、file_set2 と file_set1 が比較され、file_set2 に欠落しているものが file_set1 に存在する場合、file_set2 にコピーされます。

awk 'FNR==NR{a[$0];next}!($0 in a)' file_set2 file_set1 >>file_set2
于 2013-10-16T10:43:24.643 に答える
0

これは非常に簡単な問題か難しい問題です。ファイルを同一にする必要がある場合は、

cp source_file target_file

で十分でしょう。しかし、セクションの順序を変更せずに維持したいようですtarget_file。これには、最初にファイルを解析し、セクションの順序を覚えておく必要があります

これは Windows INI ファイル形式であるため、セクションの順序はそれを読み取るプログラムにとって重要ではありません。読者が本当に気にかけているのかどうかを確認してください。

于 2013-10-16T12:16:33.013 に答える