我有超过2000个文件的格式。txt这些文件的第一行写“把关键字在这里”我想自动替换为“我的文件1000X与XYT的20gt”
我该怎么做呢?我正在使用Mac中的终端
bash-3.2$
我正试着这样做
首先我发现有多少文件我在文件夹中
ls -1 | wc -l
然后我试着
find ./ -type f -exec sed -I
但我不知道怎么设置
我也试过
for file in *.txt; do sed -i '1s/.*/PUT KEYWORDS HERE/' "$my files 1000X with XYT of 20gt"; done
2条答案
按热度按时间sg24os4d1#
就像这样:
huwehgph2#
不要尝试“就地”编辑文件。特别是如果您正在对许多文件进行批量修改。损坏和/或丢失数据的风险太大。将文件更改为新目录。例如,如果您的文件位于名为
data
的目录中:在验证新数据(现在位于名为“new”的目录中)是您想要的数据之后,您可以删除旧数据(
rm -rf data
),如果需要保留原始路径,还可以删除mv new old
。即使你没有对新数据进行严格的验证,这也比尝试就地编辑更安全。例如,如果过程进行到一半,你失去了电源,那么从哪里开始就很难了,因为你不容易知道哪些文件被更改了。创建一个新目录可以缓解这种问题。