- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用下面的命令生成文件列表及其 m5sum。问题是某些文件或文件夹的名称中有空格。我将如何处理这些?
find -type f -name \* | xargs md5sum
最佳答案
尝试:
find . -type f -exec md5sum {} +
使用此命令,find
将对找到的文件运行 md5sum
。
MacOS:根据 MacOS find man page , find
在 Mac 上不支持 +
选项。相反,需要效率稍低(见下面的注释 3)的形式:
find . -type f -exec md5sum {} \;
注意事项:
-name\*
告诉 find
搜索所有文件。由于这是默认设置,因此无需指定。
现代文件名中包含空格是很常见的。事实上,他们的名字中甚至可以有换行符。因此,xargs
通常不能安全使用,除非使用 -0
或 --null
选项告诉它使用 NUL 分隔的输入.这可以与 find 的 -print0
结合使用,它告诉 find
生成 NUL 分隔的输出。然而,由于 -exec
可以做 xargs
可以做的大部分事情,并且可以安全地使用困难的文件名,所以 -exec
形式是通常首选。
如果我们使用了 -exec md5sum {}\;
形式,那么 find
将为每个文件运行一次 md5sum
成立。相比之下,-exec md5sum {} +
形式将在命令行中放置许多文件名。这大大减少了必须启动的进程数。
上述命令的示例输出如下所示:
$ find . -type f -exec md5sum {} +
e75632e8a11db7513c2a9f25cb6c9627 ./file1
004dedba9b67f3a93924db548fd4d6ef ./file2
48645402a2cf6ada3548ad69d8d906db ./dir1/file1
6a182d8fe659c067897be7fde72903ea ./dir1/file2
关于find - 列出所有文件的 md5sum : find command with xargs?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39604202/
据我了解,Linux 中的 xargs 命令可用于获取一个命令的输出并将其作为另一个命令的输入传递。但是,我注意到将 xargs 作为参数传递给自身会执行以前简单的输出,如果它在没有参数的情况下被调用
如何让 xargs 对给定的每一行输入精确执行一次命令?它的默认行为是对行进行分块并执行一次命令,将多行传递给每个实例。 From http://en.wikipedia.org/wiki/Xargs
我正在使用 xargs 尝试回显文件名,后跟其内容。这是命令 find output/ -type f | xargs -I {} sh -c "echo {} ; cat {}" 但是由于某种原因,
xargs 擅长插入初始参数: seq 0 10 | xargs -n 3 echo foo 产生这个输出: foo 0 1 2 foo 3 4 5 foo 6 7 8 foo 9 10 当我还想要尾
为什么 找到 . -名称“*.xml” | xargs grep FOO 返回与文件名的匹配,而 find 。 -名称“*.xml” | xargs -i -sh -c "grep FOO {}" 不
每 xargs --help: -L, --max-lines=MAX-LINES use at most MAX-LINES non-blank input lines per command li
我有以下 3 个命令(每个都包含 xargs 和并行进程),我想将它们一起并行运行。 1. ls filenames_for_bld*_all | xargs -i bash -c 'calculat
我刚发现两个命令之间的区别: echo sum.txt| xargs cat 这会输出sum.txt的内容 echo sum.txt| xargs -0 cat 这显示错误: cat: sum.txt
考虑以下几点: $ echo index.html* | xargs -L 1 ls -l -rw-r--r-- 1 zeki zeki 17198 2011-05-03 23:18 index.h
我想做类似的事情: find . -type f | xargs cp dest_dir 但是xargs将dest_dir用作初始参数,而不是最终参数。我想知道: 是否可以为xargs指定最终参数?
zgrep -i XXX XXX | grep -o "RID=[0-9|A-Z]*" | uniq | cut -d "=" -f2 | xargs -0 -I string echo
简而言之,这是我的问题 $ echo 'for i in $@; do echo arg: $i; done; echo DONE' > /tmp/test.sh $ echo "ac\nbc\ncc
我正在尝试将一些 .flac 文件转换为 .mp3,以便将其导入 iTunes。我尝试使用 find、xargs 和 ffmpeg,但 xargs 给我一个未终止的引号错误(因为我的文件名中有引号)。
我正在尝试设置一个脚本,以根据 transmission-remote 的输出自动删除 .torrent 文件。 transmission-remote http://localhost/transm
我想了解Rampion's code中xargs man的使用: screen -t man /bin/sh -c 'xargs man || read' 感谢 Rampion:我们不需要猫! 为什么
我遇到的问题是通配符量词由于某种原因没有通过 xargs 传递给命令。 假设,我们有包含以下内容的文件 file1: -l -a f* 我们需要通过 xargs 将参数传递给 ls。 cat file
我正在尝试处理位于磁盘上许多不同位置的 DVD 文件。它们的共同点是它们(每组输入文件)都位于名为 VIDEO_TS 的目录中。每种情况下的输出都是一个以该目录的父目录命名的文件。 我知道我可以获得每
我有一个 xargs 命令: xargs -a es_doc_positions.txt -P 64 -I {} populate_es_index.py --start {} --end {} 是否
我有一个 C 程序,它通过 i2c 连续读取加速度计数据。每当平板电脑的方向发生变化时,它都会向标准输出输出一个新行。 现在,我希望能够在 bash 脚本中使用该输出来更改屏幕的旋转。 现在,问题是这
我知道我可以使用 xargs 获取文件列表并为每个文件运行一次命令。 我想做的是将文件列表作为单个参数列表传递给命令。例如: ls |尾部-10 输出 a b c d 但我想将它传递给一个命令,它将接
我是一名优秀的程序员,十分优秀!