gpt4 book ai didi

bash - 替换所有文件中的字符串 - Unix

转载 作者:行者123 更新时间:2023-11-29 08:55:46 24 4
gpt4 key购买 nike

我正在尝试用 :: 替换一批 txt 文件中所有行的字符串 :::(它可以被视为一个词,因为总有一个前后空间。

我可以像下面那样用 python 来做,但是有没有一种通过 unix 终端做这件事的“过度杀伤”/复杂的方式更少?(允许许多管道)

indir = "./td/"
outdir = './od/'
for infile in glob.glob(os.path.join(indir,"*")):
_,FILENAME = os.path.split()
for l in codecs.open(infile,'r','utf8').readlines():
l = l.replace(":::","::").strip()
outfile = codecs.open(os.path.join(outdir,FILENAME),'a+','utf8')
print>>outfile, l

然后我将所有文件从 od 移动到 td mv ./od/* ./td/*

最佳答案

find . -name "./td/*.c" -exec sed -i "s/:::/::/g" '{}' \;

根本不需要 od/

编辑:

稍微简单一点的变体:

ls td/*.c | xargs sed -i '' "s/:::/::/g"

关于bash - 替换所有文件中的字符串 - Unix,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15230865/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com