我正在寻找一种解决方案来改变linux中列的位置。 在我的特殊情况下,从第一个位置到最后一个位置。
qty | sender | recipient | some email subject
sender | recipient | some email subject | qty
如果我的文件包含以下内容:
4 | one | two | the first subject
5 | one | four | other interesting subject
我想得到以下输出:
one | two | the first subject | 4
one | four | other interesting subject | 5
分隔符是" |"。如果我有" |"并不重要。在每行的开头或结尾。
谢谢!
答案 0 :(得分:1)
这种事情对于sed来说是一项经典的工作:
sed 's/\(^[^|]*\)|\(.*$\)/\2 | \1/' yourFile.txt >newFile.txt
将更改直接保存在同一文件中:
sed -i 's/\(^[^|]*\)|\(.*$\)/\2 | \1/' yourFile.txt
了解有关sed here的更多信息。