使用 sed 移动列

问题描述 投票:0回答:1

我的 Awk 脚本生成以下输出:

1396.0893854748604 jdbc:mysql 192.168.0.8:3306/ycsb 3

我需要将最后一列放在开头,但不希望与第一列交换其位置。我需要使用 sed 或其他非 awk 的管道来完成此操作。

我尝试过此命令的变体,但没有成功。我的输出保持不变。

sed 's@\(.*\),\(.*\),\(.*\)@\4,\1,\2,\3@g' 

为了清楚起见,我想要的输出如下所示:

3 1396.0893854748604 jdbc:mysql 192.168.0.8:3306/ycsb 
bash sed
1个回答
3
投票

为此您应该使用 awk。更好了:

awk '{print $4, $1, $2, $3}' yourfilename

更新:哦,对了...现在我看到您要求不再使用 awk...这是一个奇怪的要求。将其留在这里,因为它可能对未来的访客有用。

© www.soinside.com 2019 - 2024. All rights reserved.