如何重新排列单词列表,以便逐行排列单词数



我想用bash完成一项任务。

假设我有

"a":1,
"y":1,
"a":1,
"y":1,
"à":1,

我想要:

"a":1,"y":1,
"a":1,"y":1,
"à":1,

我把它翻译成每行最多2个元素。

Perl来拯救!

perl -pe 'chomp if $. % 2' -- file
  • -p逐行读取输入,并在处理后打印每一行
  • $.包含当前行号
  • %是模运算符,因此$. % 2在奇数行返回true
  • chomp删除最后一行换行符

纯bash解决方案:

i=0
while read line ; do
printf %s "$line"
((i=!i)) || printf 'n'
done < file

变量$i在0和1之间切换,换行仅针对偶数行打印。

只需粘贴两次不带分隔符的文件:

paste -d '' - - < input_file.txt

最新更新