【发布时间】:2021-01-31 22:38:36
【问题描述】:
我尝试在 awk 中保存文件中的更改 我有类似的文件
Eq6_1.ndx
eq6_2.ndx
...
...
eq6_10.ndx
一切正常
for index in {1..10}
do
awk 'f;/hbonds_Other-SOL/{f=1}' eq6_$index.ndx | tee eq7_$index.ndx
done
但我想将更改保存在同一个文件中,所以我试试这个
for index in {1..10}
do
awk 'f;/hbonds_Other-SOL/{f=1}' "eq6_$index.ndx" > "$tmp" && mv "$tmp" "eq6_$index.ndx"
done
但我知道没有这样的文件 最后我想试试这个
#!/bin/bash
name="eq6"
for index in {1..10}
do
awk 'f;/hbonds_Other-SOL/{f=1}' "${name}_$index.ndx" > "$tmp" && mv "$tmp" "{$name}_$index.ndx"
done
但我知道没有这样的文件?我做错了什么我尝试了这个解决方案,但它不起作用how to write finding output to same file using awk command
【问题讨论】:
-
正如我在 cmets 中提到的您之前的问题(例如 stackoverflow.com/questions/65970828/…),您不需要在循环中调用 awk。如果您有兴趣学习如何更有效地做您正在做的事情,那么请提出一个新问题。否则,我会假设您不感兴趣,并尽量记住,如果您发布其他问题,请不要继续提出建议。
-
shellcheck.net 会顺便告诉您当前的问题 - 在发布问题之前,请始终在您的 shell 脚本上运行
shellcheck。 -
@EdMorton 我创建了一个关于stackoverflow.com/questions/65980443/… 的新问题我想学习新事物,为什么不呢?
-
我看到你又删了。如果您决定取消删除它,请确保在其中包含您的 awk 版本(尝试
awk --version),如果不是 gawk,请告诉我们您是否可以安装 gawk。
标签: awk