如何使用 bash 处理一个文件或多个文件?
所以:从文件中读取x
,进行一些处理(例如搜索替换)并写入文件x
。
我知道sed
你可以这样做:sed -i "" "s/original/replacement/g"
,但有时 sed 并没有削减它,我需要一个不同的工具,它缺少一个-i ""
-like 选项。
我最近发现自己可以做到以下几点:
( BUFFER="`cat FILENAME`"; echo "$BUFFER" > FILENAME )
它使用环境变量来存储文件的内容。对于非常大的文件,这可能效率不高,并且环境变量的容量可能受到限制。
有不同的方法吗?
我也阅读了这个答案,但我正在寻找一个 bash 解决方案。以某种方式完全适合该任务的开源工具也受到欢迎。