2016-07-19 13 views
-1

awkを使用してフルストリングを取得できません。例えば、 FILE.TXTは、awkを使用してフルストリングを取得

C1 C2 C3 
A B 'A B C' 
C D 'D E F' 

私はコードの下に使用している場合は、

awk '{print $1 "," $3}' File.txt 

私はとして出力を取得しています、

A,'A 
C,'D 

期待が出力され、持ってい

A,'A B C' 
C,'D E F 
+0

ファイルの内容が正しくフォーマット/改行されていますか?私にとっては1ドルはC1、3ドルはC3になるでしょうか? –

+0

フォーマットが機能しませんでした。 – Rock

+0

書式設定のヘルプを読み、それを動作させるようにしてください。入力内容を推測することはできません。 –

答えて

1
で区切る必要があります
awk '{print $1 "," $3,$4,$5}' file 
A,'A B C' 
C,'D E F' 
+0

私はすでに$ 3、$ 4、$ 5で試しました。このような他の方法は、長い文字列に対しては実行できません – Rock

2

デフォルトのde limimeter for awkはスペースです。あなたのデータは、タブを持っているので、あなたはは '\ t' の

file.txtを

A B 'A B C' 
C D 'D E F' 

awkコマンド

awk '{BEGIN FS="\t"}{print $1 "," $3}' <file.txt 

出力

A,'A B C' 
C,'D E F' 
関連する問題