2

CSV ファイル (bash を使用) の\n4 つの区切り文字の後に追加するにはどうすればよいですか?;

入力ファイルのサンプル:

aaaa;bbbbbb;cccc;ddddd;eeee;ffff;gggg;hhhh;iii;jjjj;kkkk;llll;

必要な出力:

aaaa;bbbbbb;cccc;ddddd
eeee;ffff;gggg;hhhh
iii;jjjj;kkkk;llll
4

4 に答える 4

4

(GNU) を使用sed:

... | sed -r 's/([^;]*;){4}/&\n/g'

[^;]*;セミコロンの後にセミコロンが続く文字列に一致します。

(...){4}括弧内の式の 4 回に一致します。

&置換は、見つかった一致全体です。

\n改行文字です。

修飾子により、行ごとの最初の一致だけでなく、各入力行のすべての一致が置き換えられますgsed

于 2013-08-14T18:44:53.413 に答える
0

これはうまくいくかもしれません(GNU sed):

sed 's/;/\n/4;/./P;D' file
于 2013-08-14T21:49:12.627 に答える