linux - 如何使用 sed 循环文件并将输出保存在不同的文件中?
问题描述
我有两个不同的文件 A.txt 和 B.txt 都包含相同的字符串。我想使用sed
命令来替换字符串,但我不想覆盖 A.txt 和 B.txt。
实际上我想遍历文件,然后为两者做这样的事情:
sed 's/myString/myNewString/g' A.txt > updatedA.txt
我可以使用什么技巧来以这种方式将输出重定向到我想要的尽可能多的文件?假设我有 x *.txt 文件。
谢谢。
解决方案
for
对当前目录中的所有 .txt 文件进行循环:
for file in *.txt; do
sed 's/myString/myNewString/g' "$file" > "updated$file"
done
每个目录仅使用此脚本一次。
推荐阅读
- docker-swarm - Docker Swarm - Prometheus cannot access Cadvisor: dial tcp 10.0.0.50:8090: connect: connection refused
- javascript - Overwriting document in firebase
- php - 数组堆叠在另一个数组上
- web-scraping - 使用 python-requests 抓取网页时如何获取丢失的 HTML 数据
- istio - 方法调用的 Micronaut 和 OpenTracing
- swift - initializing static variable in different ways with swift
- c - strcat 函数不适用于指针
- swift - How do I update UserDefaults after deleting an MKAnnotation?
- java - got 源服务器没有找到目标资源的当前表示或不愿意透露存在的表示
- multithreading - 调用的 C# Thread 方法因工作线程和主 UI 线程而异