に応じて一つのファイル内の文字列を置換するためのbashコードを書く私はbashのを書きたいです私は、この別のファイルにこの</p> <p>及び第二のリストのように、私はリストを持っている</p> <pre><code>Jack John Tim Jack </code></pre> <p>を別のファイル
G2 G1
G4 G2
私のソリューションはこれです EDITが、nothiのような3つ目のファイルを与えるコード私がbashで書いたときに起こります。
#! /bin/bash
INPUTFILE="id.tsv"
DATAFILE="g.tsv"
OUTFILE="output.csv"
awk 'BEGIN {
while (getline < "'"$INPUTFILE"'")
{
split($0,ft,"\t");
id=ft[1];
name=ft[2];
key=id;
data=name;
nameArr[key]=data;
}
close("'"$INPUTFILE"'");
while (getline < "'"$DATAFILE"'")
{
split($0,ft,",");
id1=ft[1]; # Id is the first column
id2=ft[2]; # Phonenumber is the second
name1=nameArr[id1];
name2=nameArr[id2];
print name1","name2 > "'"$OUTFILE"'"; # Print directly to the outputfile
}
}'
awkを使用してください。最初のファイルのキーと値を使用して配列を作成し、2番目のファイルのすべてのフィールドをループして置き換えます。それを試して、あなたが立ち往生した場合は私たちに知らせてください。 –