Awk 如何替换文件中的字符串

Awk 如何替换文件中的字符串,awk,Awk,我试过这个命令: awk 'sub(/S/,"5")' primare.txt > primaro.txt 但是primaro.txt是空的 primare.txt中的S可能丢失。 当没有S时,我想打印与primare.txt相同的文件 编辑 以及如何无需重新铺设空间 awk 'sub(/ /,"") 1' parametrx10.txt awk '{sub(/ /,"");print}' parametrx10.txt 这些只删除了一个空格:-8.37604o-8.37604o您想

我试过这个命令:

awk 'sub(/S/,"5")' primare.txt > primaro.txt
但是
primaro.txt
是空的

primare.txt中的
S
可能丢失。
当没有
S
时,我想打印与
primare.txt
相同的文件

编辑

以及如何无需重新铺设空间

awk 'sub(/ /,"") 1' parametrx10.txt

awk '{sub(/ /,"");print}' parametrx10.txt
这些只删除了一个空格:
-8.37604o
-8.37604o
您想要:

awk '{sub(/S/,"5");print}'
这样怎么样:

awk 'sub(/S/,"5") 1' primare.txt
试试看,如果可以的话,自己添加
>primaro.txt
部分。
另外,您可能需要的是
gsub
,而不是
sub

但是,我建议您使用
sed

sed 's|S|5|' primare.txt
使用
-i
开关更改文件位置(最好先备份)。
更改为
s | s | 5 | g
以替换所有发生的事件

替换空格:

awk 'gsub(/[[:space:]]+/,"") 1' primare.txt

你能试试下面的吗

awk '{sub(/[sS]/,"5")} 1' Input_file > out_file
如果要替换所有出现的s,请使用
gsub
代替sub。同时,这也将取代小型企业和大型企业。因此,在大写字母替换的情况下,请坚持您的模式

也可以在您的评论部分删除空格

awk '{gsub(/ +/,"")} 1' Input_file > out_file

如何将所有空格替换为空
awk'{sub(//,“”);print}'parametrx10.txt>parametry.txt
这只删除了一个空格:
-8.37 7 6 0 4 O>-8.37 6 0 4 O
非常感谢。你能帮我修改我的问题吗?@Arrara检查最后一个问题。