bash – 在命令中重用或重复管道输入作为参数(给出示例)
发布时间:2020-12-15 22:18:56 所属栏目:安全 来源:网络整理
导读:我将用一个例子来解释这个问题.假设我想生成一个包含两列的列表.第1列包含文件名,第2列包含该文件的md5总和. 这可以使用以下脚本完成: for FILE in `ls -p | grep -v "/"`;do printf "%s %sn" "$FILE" `md5 -q "$FILE"`;done; 可以使用管道在一条线上完成
我将用一个例子来解释这个问题.假设我想生成一个包含两列的列表.第1列包含文件名,第2列包含该文件的md5总和.
这可以使用以下脚本完成: for FILE in `ls -p | grep -v "/"`; do printf "%s %sn" "$FILE" `md5 -q "$FILE"`; done; 可以使用管道在一条线上完成吗?我尝试过使用sed,xargs和printf的不同组合,但我想我错过了一些东西.这是我的一次尝试: ls -p | grep -v "/" | xargs -I FILE printf "%s %sn" FILE `md5 -q FILE` 在那次尝试中,反引号内的FILE没有被替换,这并不奇怪. 这是我应该使用多行脚本的事情吗?由于没有逻辑或控制流程,我觉得应该可以使用单行,也许我没有正确使用我的工具,或者我找不到合适的工具. 对标题道歉,我不知道该怎么称呼这个问题. 解决方法
你可以使用md5sum,因为我没有md5 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |