我的文件如下;
roger
"supplier"
anger
"easter"
robin
"badguy"
sweety
"i like you"
goldy
"I hate you"
我需要将此文件转换为类似
的内容roger|supplier
anger|easter
robin|badguy
sweety|i like you
goldy|I hate you
请帮忙,我是通过一段时间的循环将它们读入2个不同的文件,然后连接文件。我知道这不是一个好主意,因此可以发布一些建议。
答案 0 :(得分:2)
awk
的一种方式:
$ awk 'NR%2{a=$0;next}{print a,$2}' FS='"' OFS='|' file
roger|supplier
anger|easter
robin|badguy
sweety|i like you
goldy|I hate you
或略短于xargs
和sed
:
$ xargs -n2 < file | sed 's/ /|/'
roger|supplier
anger|easter
robin|badguy
sweety|i like you
goldy|I hate you
或只是sed
:
$ sed '$!N;s/\n/|/;s/"//g' file
roger|supplier
anger|easter
robin|badguy
sweety|i like you
goldy|I hate you
答案 1 :(得分:0)
这是怎么回事?
echo 'roger
"supplier"
anger
"easter"
robin
"badguy"
sweety
"i like you"
goldy
"I hate you"' \
| awk '{
if (NR%2){
printf("%s", $0)
}
else {
gsub(/"/,"", $0);printf("|%s\n", $0)
}
}'
<强>输出强>
roger|supplier
anger|easter
robin|badguy
sweety|i like you
goldy|I hate you