0

新しいレコードを含むファイルを、既にレコードがあり、サーバーに存在する同じ構造化ファイルと比較したいと考えています。

古いファイルのように file1:

SKU PROD NAME CODE PRICE
A001 shirt jm s02 478
B002 jean jn j02 348
C003  mwear mw m02 567

新しいレコードに付属する新しいファイルは次のとおりです。

SKU PROD NAME CODE PRICE
A001 shirt jm s02 680
m01  mwear mw m02 567
c02  kurta kr k04 677
d12  dr d3 d03 400

新しいレコードに基づいて、古いレコードを更新するか、古いレコードの後に​​新しいレコードを追加できます。

上記のシーンの UNIX シェル スクリプトを作成する必要があります。助けてください

4

2 に答える 2

0

最初に、新しいファイルでさまざまな SKU を探します。そこに SKU が見つからない場合は、古いファイルから取得します。

grep SKU file1.txt > out.txt
cat file1.txt file2.txt |\
grep -v SKU | cut -d" " -f1  | sort | uniq | while read sku
do
  grep $sku file2.txt >> out.txt
  if [[ $? -eq 1 ]] # If SKU was not in file2.txt
  then
    grep $sku file1.txt >> out.txt
  fi
done

結果:

SKU PROD NAME CODE PRICE
A001 shirt jm s02 680
B002 jean jn j02 348
C003  mwear mw m02 567
c02  kurta kr k04 677
d12  dr d3 d03 400
m01  mwear mw m02 567
于 2013-08-19T09:18:13.457 に答える