我需要编辑名称中具有特定模式的文件。这些文件分布在多个分层目录中。
我使用find
后跟sed
在 的帮助下xargs
实现以下相同:
find . -type f -name "file*" | sed -i.bak 's/word1/replace_word1/g'
我的问题是现在我想从备份文件 (* .bak )中恢复更改。示例目录树将如下所示。我正在寻找 linux 命令(可能是一个链)来实现相同的。
$ tree
.
|-- pdir1
| |-- dir1
| | |-- dir2
| | | |-- file2
| | | `-- file2.bak
| | |-- file1
| | `-- file1.bak
| `-- dir3
| |-- file3
| `-- file3.bak
`-- pdir2
|-- file1
`-- file1.bak
find
我可以使用以下命令找到所有备份文件。但不知道下一步该做什么。如果您能帮我解决这个问题,那将是不言而喻的。
find . -type f -name "file*.bak"
笔记
我将此问题视为一般情况。我曾多次遇到过这种情况,但为它写了一个小包装脚本而侥幸逃脱。在这里,我希望有一个通用而简洁的解决方案。