用于将单行分隔文件转换为多行文件的Unix脚本

用于将单行分隔文件转换为多行文件的Unix脚本,unix,awk,Unix,Awk,我有一个用Cedilla分隔的文件,但记录在一行中。我必须将其转换为多行文件 样本记录: P002365Ç1200ÇMastercardÇcarolinaÇBasildonÇEnglandÇUnited kingdomÇP002368Ç2100ÇVisaÇGouyaÇEchucaÇVictoriaÇAustraliaÇP002373Ç3600ÇMastercardÇRenee ElisabethÇTel AvivÇTel AvivÇIsraelÇP002382Ç6300ÇDinersÇbarba

我有一个用Cedilla分隔的文件,但记录在一行中。我必须将其转换为多行文件

样本记录:

P002365Ç1200ÇMastercardÇcarolinaÇBasildonÇEnglandÇUnited kingdomÇP002368Ç2100ÇVisaÇGouyaÇEchucaÇVictoriaÇAustraliaÇP002373Ç3600ÇMastercardÇRenee ElisabethÇTel AvivÇTel AvivÇIsraelÇP002382Ç6300ÇDinersÇbarbaraÇHyderabadÇAndhra PradeshÇIndia
需要转换为:

P002365Ç1200ÇMastercardÇcarolinaÇBasildonÇEnglandÇUnited Kingdom    
P002368Ç2100ÇVisaÇGouyaÇEchucaÇVictoriaÇAustralia    
P002373Ç3600ÇMastercardÇRenee ElisabethÇTel AvivÇTel AvivÇIsrael    
P002382Ç6300ÇDinersÇbarbaraÇHyderabadÇAndhra PradeshÇIndia

我们可以使用awk命令来实现这一点吗?

您可以使用类似这样的方法:

awk -FÇ '{for (i=1;i<=NF;++i) printf "%s%s", $i, (i%7==0?RS:FS)}' file
P002365Ç1200ÇMastercardÇcarolinaÇBasildonÇEnglandÇUnited kingdom
P002368Ç2100ÇVisaÇGouyaÇEchucaÇVictoriaÇAustralia
P002373Ç3600ÇMastercardÇRenee ElisabethÇTel AvivÇTel AvivÇIsrael
P002382Ç6300ÇDinersÇbarbaraÇHyderabadÇAndhra PradeshÇIndia

awk-F{for(i=1;i您可以使用以下内容:

awk -FÇ '{for (i=1;i<=NF;++i) printf "%s%s", $i, (i%7==0?RS:FS)}' file
P002365Ç1200ÇMastercardÇcarolinaÇBasildonÇEnglandÇUnited kingdom
P002368Ç2100ÇVisaÇGouyaÇEchucaÇVictoriaÇAustralia
P002373Ç3600ÇMastercardÇRenee ElisabethÇTel AvivÇTel AvivÇIsrael
P002382Ç6300ÇDinersÇbarbaraÇHyderabadÇAndhra PradeshÇIndia
awk-F{for(i=1;i这可能适合您(GNU-sed):

这将用换行符替换每7个
字符。

这可能适合您(GNU-sed):


这将用换行符替换每7个
|

这是您要找的吗?如果您不仅可以使用awk,那么这应该对您有效:perl-pe的| ||| | g’file.txt |粘贴-d|这是您要找的吗?hths如果您不仅可以使用awk,那么这应该对您有效:perl-pe的||\n|g'file.txt|paste-d|--
RS
(记录分隔符)是本例中的换行符?@Lix默认是。正如我所怀疑的:P酷..我将添加一个这里发生的事情的分解(主要是为了确保我自己理解它)。如果我有什么错误,请告诉我:)@Lix我刚刚编辑过,希望这能解释更多。如果你有更多的细节需要添加,请随意编辑。太棒了:)我真的应该更关注awk标签…真的帮助我复习我最喜欢的工具之一…
RS
(记录分隔符)本例中的换行符是吗?@Lix默认情况下是的。正如我所怀疑的:P Cool..我将添加一个关于这里发生的事情的细分(主要是为了确保我自己理解它)。如果我有什么错误,请告诉我:)@Lix我刚刚编辑过,希望这能解释更多。如果你有更多的细节需要添加,请随意编辑。太棒了:)我真的应该更多地关注awk标签…真的帮助我复习我最喜欢的工具之一。。。