0

フィールドを特定の形式で印刷したい、入力:

col1|col2|col3|col4

私はcat file | cut -d '|' -f 3,1,4 出力を使用しました:

col1|col3|col4

しかし、私の期待される出力は次のとおりです。

col3|col1|col4

誰かがこれを手伝ってくれますか?

4

2 に答える 2

2

からman cut:

選択された入力は、読み取られたのと同じ順序で書き込まれ、1 回だけ書き込まれます。

やったほうがいい:

$ awk -F'|' -vOFS='|' '{print $3,$1,$4}'  <<< "col1|col2|col3|col4"
col3|col1|col4
于 2013-03-04T08:56:23.520 に答える
0

awk は優れていますが、ここに perl ソリューションがあります。

perl -F"\|" -ane 'print join "|",@F[2,0,3]'

テスト済み:

> echo "col1|col2|col3|col4" | perl -F"\|" -ane 'print join "|",@F[2,0,3]'
col3|col1|col4
于 2013-03-04T10:09:34.897 に答える