通过cut -d":" -f1,3
我创建了一个新文件,如下所示:
username1:number1
username2:number2
username3:number3
但我的观点是,我希望我的文件看起来像这样:
number1:username1
number2:username2
number3:username3
我尝试了cut -d":" -f3,1
,但即使我希望第3列成为第1列,第1列就像最后一列一样打印它,它仍然会让我username1:number1
...任何帮助那个?
答案 0 :(得分:4)
cut -f3,1
的打印方式与cut -f1,3
相同。使用awk
:
awk -F: '{print $3 FS $1}' file
答案 1 :(得分:1)
我喜欢awk这种事情。你已经有了一个awk答案。
要在纯粹的bash中执行此操作,您需要执行以下操作:
while IFS=: read -r one two; do printf '%s:%s\n' "$two" "$one"; done < input.txt
IFS
变量是字段分隔符,用于将输入切分为read
的单独变量,我使用printf
为我们提供可预测格式的输出。