在以如下所示的格式打印csv文件的格式化值时,我面临着一个挑战:
id=Z123456;pseudocode=zxcdsa-12345
id=2345678;pseudocode=123456-rewqa
id=abcsd34;pseudocode=23456我试图得到这个理想的输出:
Z123456;zxcdsa-12345
2345678;123456-rewqa
abcsd34;23456使用下面的命令,我可以打印两列,但我不知道如何从$1和$2列中提取文本片段
awk -F";" '{ print $1 ";" $2}' sample.csv在$1中,需要提取id=和分号字段分隔符之间的部分。对于第二列$2,要打印的匹配模式位于字符串"pseudocode=“之后,直到行尾。
在结束后,将结果写入一个文件中,如下所示:
awk -F";" '{ print $1 ";" $2}' sample.csv > result.csv我怎样才能用awk完成这个结果呢?
谢谢你帮忙。
发布于 2015-07-07 21:48:51
您可以使用;和=作为字段分隔符:
awk -F'[;=]' '{ print $2 ";" $4 }' file其中[;=]是;和=的字符类
或使用sed:
sed 's/[^=;]*=//g' filehttps://stackoverflow.com/questions/31279886
复制相似问题