2016-04-06 11 views
-2

はFile1動作しませんでした何FILE2

 
ANK37748|DEL37728|SRILANKA|195210290000|201209111625 
CHA38228|DEL37728|SRILANKA|198410290000|201308071912 
ANK37748|DEL37728|SRILANKA|199910290000|201407061815 
CHA38228|DEL37728|SRILANKA|199810290000|201507062212 

File2の

 
1952-Oct-29 12:00 
1984-Oct-29 12:00 
1999-Oct-29 12:00   
1998-Oct-29 12:00 

所望の出力

 
ANK37748|DEL37728|SRILANKA|1952-Oct-29 12:00|201209111625 
CHA38228|DEL37728|SRILANKA|1984-Oct-29 12:00|201308071912 
ANK37748|DEL37728|SRILANKA|1999-Oct-29 12:00|201407061815 
CHA38228|DEL37728|SRILANKA|1998-Oct-29 12:00|201507062212 

から他にファイル1から一つのフィールドを置き換え、二つのファイルを結合:

paste file1 file2 

出力(のみ1行目):

ANK37748|DEL37728|SRILANKA|195210290000|201209111625 1952-Oct-29 12:00 

私はFILE2の最初の(そして唯一の)列でFILE1の4番目の列を交換する必要があります。

私を助けてください。 "|"

ベン

+1

は、あなたがどこにいるか、何をしようとしませんでしたあなたの問題? –

+0

paste filenew f11.txt – Ben

+0

Hai、$ paste file1 file2出力はANK37748です| DEL37728 | SRILANKA | 195210290000 | 201209111625 1952年10月29日12:00など4番目の列をfile2列に置き換える必要がありますそれは私を助けてください – Ben

答えて

0

使用はペーストはフィールド区切りをに設定し、をカット:

paste -d \| file[12] file1 | cut -d \| -f '-3,6,11' 

出力:

ANK37748|DEL37728|SRILANKA|1952-Oct-29 12:00|201209111625 
CHA38228|DEL37728|SRILANKA|1984-Oct-29 12:00|201308071912 
ANK37748|DEL37728|SRILANKA|1999-Oct-29 12:00|201407061815 
CHA38228|DEL37728|SRILANKA|1998-Oct-29 12:00|201507062212 

注その場しのぎ - カットさんの無礼な '-f'スイッチは、フィールドを順番に出力し、フィールドをスキップできます紙のテレタイプのように、それはバックアップできません! cut -f '-3,6,5'のような賢明なものの代わりに、の貼り付けは、 'file1' の2回の2倍、したがって '11'フィールドを渡す必要があります。

は、(上記のジョブが bashのAWK、またはそれらの混合の組み合わせをsedは、シェル純粋 ボーンにkludgelessly行うことができる。)

+0

ハイagcありがとう – Ben

関連する問題