Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我有一个输出如下的文件:
MIKE;123456 JOHN-HELPER;654321 SAM.SMITH;182364
我需要分隔符之前的所有内容移动到行尾,所以它看起来像这样:
123456;MIKE 654321;JOHN-HELPER 182364;SAM.SMITH
努力解决它sed……有什么想法吗?
sed
像这样,例如:
$ sed -r 's/([^;]*);(.*)/\2;\1/' a 123456;MIKE 654321;JOHN-HELPER 182364;SAM.SMITH
它“捕获”了两组:之前的所有内容;,然后是其余的。下一步是反过来打印这些块:\2;\1.
;
\2;\1
或与awk:
awk
$ awk -F";" '{print $2";"$1}' a 123456;MIKE 654321;JOHN-HELPER 182364;SAM.SMITH
它设置;为字段分隔符,然后以相反的方式打印字段。