使用sed 将文件中的某一列与另一列互换
我们将一个文件中的第1列和第2列互换 其实就是将每行的第1个字符和第2个字符互换。
步骤:
1、将每行文本拆分为“第1个字符”、“第2个字符”、“剩下的所有字符”三个部分,
2、然后通过替换操作重排顺序为“2-1-3”。
cat test.sh //文本内容
abcd
ABCD
1234
sed -r 's/^(.)(.)(.*)/\2\1\3/' test.sh //-r:启用扩展的正则表达式
bacd
BACD
2134
sed -r -i 's/^(.)(.)(.*)/\2\1\3/' test.sh //-i:直接修改文件内容 不加-i不会保存替换结果
sed -r 's/^(.)( .*)(.)$/\3\2\1/' test.sh //同理将第一列与最后一列互换