如何在Linux中查找没有绝对地址的文件?

如何在Linux中查找没有绝对地址的文件?,linux,find,Linux,Find,我想在系统中获取所有md5*.conf文件。当我找到所有conf文件并带有循环“For”时: 对于$(查找…)中的文件,请执行md5sum$file>/home/username/$name.md5 执行脚本后出错,无法找到路径 “/home/username//etc/*.conf.md5” 我希望能解释清楚。您可以将find的输出通过管道传输到一些程序,这些程序可以为您去除标准输入,例如sed或cut find/-name“*.conf”| rev | cut-d”/-f 1 | rev

我想在系统中获取所有md5*.conf文件。当我找到所有conf文件并带有循环“For”时:

对于$(查找…)中的文件,请执行md5sum$file>/home/username/$name.md5 执行脚本后出错,无法找到路径 “/home/username//etc/*.conf.md5”


我希望能解释清楚。

您可以将find的输出通过管道传输到一些程序,这些程序可以为您去除标准输入,例如
sed
cut

find/-name“*.conf”| rev | cut-d”/-f 1 | rev
首先我们反转输入,这样我们就可以使用cut获得“First”字段,然后再次反转它,这样我们就可以得到输出中字母的正确顺序

find/-name“*.conf”| sed-E“s/*\/(.*)$/\1/”
要获得这些文件的MD5总和,只需使用xargs。
没有必要为此切断文件路径

find/-name“*.conf”| xargs md5sum

错误明确指出,路径不可用,因此您可以检查路径是否可用。 而不是保存在etc路径中,而是保存在您的主路径中

读取第行时查找/-name“md5*.conf” 做 md5sum“$line”>>/home/user/md5sum.txt
完成

请迁移到超级用户或ubuntu stackexchange。
find/path-type f-exec md5dum'{}'>/home/username/confmd5sums.md5\
然后将每个总和(以及相关文件名)包含在单个文件中。更容易查询/处理。如果需要单独的文件,请通过
awk
运行它,使用
sub
将第一个字段写入第二个字段中的文件,并将
.conf
替换为
.md5
作为文件名。(例如,
awk'{sub(/txt$/,“md5”,$2);打印$1>$2}'sumfile.md5
)我希望每个创建的文件创建一个md5文件。并非所有md5都在文本文件中