Awk 更改文本文件的内容

Awk 更改文本文件的内容,awk,Awk,我有一个包含以下内容的文本文件 sadhana 88/17 = 5.2 alex 189/41 = 4.6 dominic 33/10 = 3.3 .. .. .. 我想像这样更改上述文件的内容 sadhana 88 17 5.2 alex 189 41 4.6 dominic 33 10 3.3 .. .. .. 你能用sed吗- 或 使用awk tr可以轻松地完成

我有一个包含以下内容的文本文件

sadhana         88/17  =   5.2
alex           189/41  =   4.6
dominic         33/10  =   3.3
 ..
 ..
 ..
我想像这样更改上述文件的内容

sadhana   88   17   5.2
alex     189   41   4.6
dominic  33    10   3.3
 ..
 ..
 ..  
你能用sed吗-

使用awk


tr可以轻松地完成这项工作

tr "/=" " " < file

您可以只使用awk-F[/=]*'{$1=$1}1'OFS=\t文件,这样就不必显式列出每个字段号。FWIW除非我必须在文件之间更改一个变量值,否则我不会在文件名变为awk'script'OFS='\t'文件的地方设置变量赋值。我总是使用awk-v OFS='\t''script'文件,这样所有变量在开始部分都是一致可用的,而且在从左到右阅读脚本时,在脚本开始之前而不是之后查看初始变量设置更清晰、更自然。使用sed的[/=]g'有一种更简洁的方法,但无论如何,这就是tr发明的目的。参见@BMW的解决方案。
sed -e 's#/# #' -e 's/=/ /'
awk -v OFS="\t" -F"[ /=]*" '{$1=$1}1' file
sadhana 88      17      5.2
alex    189     41      4.6
dominic 33      10      3.3
tr "/=" " " < file