-1

私は2つのファイルを持っています

ファイル 1:

030055 a
033366 b

ファイル 2:

03005515077 x||03215549849 y||03336678899 z||03005577733 xx||03005583838 yy

ファイル 1 を 1 行ずつ読み取り (030055 a)、数値 (030055) を区切り、ファイル 2 で検索するシェル スクリプトが必要です。

例: File1 の最初のレコード: 030055 a これを File 2 と比較すると、この番号パターンが一致するレコードは次のとおりです。

03005515077 x および 03005577733 xx および 03005583838 yy

x、xx、yy を a に置き換えるだけで、

03005515077 と 03005577733 と 03005583838

4

1 に答える 1

1

これらの線に沿った何か(テストされていない);

#!/bin/bash

while read line
do
    COL1 = `cat $line | awk '{print $1}'`
    COL2 = `cat $line | awk '{print $2}'`
    sed "s/(${COL1}[0-9]+)[^||]*||/\1 ${COL2}||/g" file_2 > file_2.out
    mv file_2.out file_2
done < "file_1"
于 2012-10-15T18:55:08.093 に答える