在Linux中过滤命令输出

时间:2019-05-03 09:20:16

标签: linux bash shell sh

如何使用sha256sum命令仅打印出哈希和文件名?我只需要Hashsum和文件名而不是完整路径。

命令:

sha256sum /mydir/someOtherDir/file.txt

输出:

123Hashsum /mydir/someOtherDir/file.txt

所需的输出:

123Hashsum file.txt

2 个答案:

答案 0 :(得分:1)

您可以将输出读入变量

read -r sha file < <(sha256sum /mydir/someOtherDir/file.txt)

然后您可以使用basename

读取文件名
echo "$sha" "$(basename "$file")"

答案 1 :(得分:0)

您可以尝试通过管道将sed如下所示(仅适用于绝对路径):

sha256sum /mydir/someOtherDir/file.txt | sed 's:/.*/::'