gpt4 book ai didi

linux - 移动文件并重命名 - 一行

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:48:36 27 4
gpt4 key购买 nike

我在某些服务器上遇到许多具有相同内容和相同名称的文件。我需要隔离这些文件进行分析,所以我不能只删除重复项。操作系统为Linux(centos和ubuntu)。

我枚举文件名和位置并将它们放入文本文件中。

然后我执行 for 语句将文件移动到隔离区。

for file in $(cat bad-stuff.txt); do mv $file /quarantine ;done

问题是它们有相同的文件名,我只需要为文件名添加一些独特的东西就可以正确保存。我确定这很简单,但我不擅长正则表达式。感谢您的帮助。

最佳答案

由于您使用的是 Linux,因此可以利用 GNU mv 的 --backup

while read -r file
do
mv --backup=numbered "$file" "/quarantine"
done < "bad-stuff.txt"

这是一个展示其工作原理的示例:

$ cat bad-stuff.txt 
./c/foo
./d/foo
./a/foo
./b/foo
$ while read -r file; do mv --backup=numbered "$file" "./quarantine"; done < "bad-stuff.txt"
$ ls quarantine/
foo foo.~1~ foo.~2~ foo.~3~
$

关于linux - 移动文件并重命名 - 一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16923063/

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