如何将循环中的文件用作awk中的输入/输出文件?

Ele*_*reg 2 bash awk

这是错误的:

for f in a*.dat; do 
    awk '.....' file1 "$f" > temp
    awk '.....' temp > "$f_out"
done
Run Code Online (Sandbox Code Playgroud)

我想使用 a*.dat 作为输入,然后作为带有后缀 _out 的输出。非常感谢

Ljm*_*art 6

_被看作是变量名称的一部分,所以你使用的是可变f_out的代替f和追加out。使用{}将解决您的问题。

for f in a*.dat; do 
    awk '.....' "$f" > "${f}_out"
done
Run Code Online (Sandbox Code Playgroud)