gpt4 book ai didi

linux - 可能使用 sed 将动态文件路径附加到现有 .ini 文件的 Bash 脚本?

转载 作者:太空狗 更新时间:2023-10-29 12:38:29 27 4
gpt4 key购买 nike

我有一个通常命名的 .sqlite 文件包含在许多唯一用户的主文件夹中,文件结构为:/home/user/unique-ip-address/folder/file.sqlite 我决定移动所有这些 .sqlite 文件到 tmpfs 挂载,并且已经完成了维护完整的目录结构,因此每个 .sqlite 文件现在位于:/mnt/tmpfs/home/user/unique-ip-address/folder/file.sqlite

我正在寻找一种方法来编辑每个用户主文件夹中具有唯一文件路径(例如:/home/user/unique-ip-address/folder/file.ini)的通常命名的 .ini 文件,我使用 find 和 sed 的图应该可以解决问题,但我不确定查找结果需要如何将用户与/mnt/tmpfs 中的正确文件夹匹配。我想在 file.ini 中的 dir= 之后将/dev/shm 中使用的新 .sqlite 位置附加到其主文件夹中的 file.ini 中。谢谢!

最佳答案

我相信像这样的东西应该可以解决问题:

find /home/*/unique-ip-address/folder/file.ini | xargs -n1 perl -pe 'BEGIN{$infile="/mnt/tmpfs/$ARGV[0]"} {s/dir=/$&$infile/}'

该命令不会更改任何内容,它只是打印出所有内容。如果它看起来像您想要的那样,只需将 -i.bak 添加到最后,它就会进行适当的更改。原始文件将重命名为 file.ini.bak。

find /home/*/unique-ip-address/folder/file.ini | xargs -n1 perl -pe 'BEGIN{$infile="/mnt/tmpfs/$ARGV[0]"} {s/dir=/$&$infile/} -i.bak'

关于linux - 可能使用 sed 将动态文件路径附加到现有 .ini 文件的 Bash 脚本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2743316/

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