1

awkでフィールドを簡単に組み合わせることができますか?具体的には、次のような行があります。

1,2,some text
3,4,some text, but it has commas in it, annoyingly

最初の2つのフィールドとして2つの数値を抽出したいのですが、次にすべてのテキスト(コンマとすべて)を3番目のフィールドにします。それを行う方法はありますか?

私の基本的なawk呼び出しは次のようでした:

awk -F\, '{print $1"|"$2"|"$3}' file.txt

これは1行目では問題なく機能しますが、2行目のテキストのコンマで停止します。

4

2 に答える 2

2

多分:

awk '{for (i=0;i<2;i++) sub(",", "|", $0); print}' file.txt
于 2008-12-31T12:06:30.050 に答える
0

あなたはそれをするためにsedを使うことができます。

cat file.txt | sed 's/\(.?*\),\(.?*\),/\1|\2|/'
于 2008-12-31T11:56:47.870 に答える