我遇到了以下问题 - 我想遍历某个目录下的所有 xml 文件,并为id
我找到的所有 -s 加上某个前缀。我编写了以下脚本来做到这一点:
#!/bin/bash
find . -iregex .+?\.xml -print -exec awk '{print gensub(/(.*?)=\"(@(\+|)id)\/(.+)\"/, "\\1=\"\\2/prefix_\\4\"", "g", $1);}' {} > {} \;
但是重定向部分 -> {}
将不起作用。该脚本将运行良好并按预期在标准输出上打印所有内容,但似乎无法将输出重定向到 awk 读取的同一文件。知道如何规避这个问题吗?谢谢!