我想用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