![如何对文件中的文本信息进行排序/重新格式化?](https://linux22.com/image/66306/%E5%A6%82%E4%BD%95%E5%AF%B9%E6%96%87%E4%BB%B6%E4%B8%AD%E7%9A%84%E6%96%87%E6%9C%AC%E4%BF%A1%E6%81%AF%E8%BF%9B%E8%A1%8C%E6%8E%92%E5%BA%8F%2F%E9%87%8D%E6%96%B0%E6%A0%BC%E5%BC%8F%E5%8C%96%EF%BC%9F.png)
我有一个文件(称为customers
),其中包含需要排序的信息;例子:
qweasd,[email protected],256.62394383
qweasdczasd,[email protected],256.62394383
qwedddasd,[email protected],256.62394383
qweavvvdsd,[email protected],256.62394383
文件的输出必须以制表符分隔。
qweasd [email protected] 256.62394383
qweasdczasd [email protected] 256.62394383
qwedddasd [email protected] 256.62394383
qweavvvdsd [email protected] 256.62394383
我需要一行命令。
答案1
您可以使用 awk 命令:
# awk -F, '{print $1 "\t" $2 "\t" $3}' customers
或者 :
# awk 'BEGIN{FS=","; OFS="\t"} {print $1, $2, $3}' customers
或者 :
# awk 'BEGIN{FS=","; OFS="\t"} {print}' customers
他们都会为你工作。
答案2
试试这个: awk -F, '{print $1 "\t" $2 "\t" $3}' 文件名 awk 'BEGIN{FS=","; OFS="\t"} {打印 $1, $2, $3}' 文件名
答案3
sed
是这个编辑器等级修改更简单、高效的工具:
sed 's-,- ctrlV tab-g' 客户
ex
您还可以使用,vi
或轻松实现相同的修改emacs
。