linux的shell,怎么把一个文件的md5值赋值到一个数组里 类似 a[1]=md5sum a.txt ,但是这样没法赋值,求解
2个回答
展开全部
注意,命令引起来的是tab键上面那个,而不是单引号
解释:
md5sum a.txt的结果例如是
3a5cacda937fbe71fcb72cfe4904dee8 a.txt
前面是MD5值,a.txt是你指定的文件名,我们要取前面那部分,有2个方法:
方法一,也就是xiehuahere的回答:
a[1]=`md5sum a.txt | cut -d' ' -f1`
其中cut的-d,是指定空格为分隔符,-f1是指定取分隔后的第一个字串,就是我们要的MD5值了。
方法二:
md5sum a.txt | awk -F ' ' '{print $1}'
awk的-F ' ',是指定空格为分隔符,是指定空格为分隔符,是指定取分隔后的第一个字串,也是我们要的MD5值。
赋值除了使用“`”反引号,还可以这样,例:
a[1]=$(md5sum a.txt | cut -d' ' -f1)
a[1]=$(md5sum a.txt | awk -F ' ' '{print $1}')
解释:
md5sum a.txt的结果例如是
3a5cacda937fbe71fcb72cfe4904dee8 a.txt
前面是MD5值,a.txt是你指定的文件名,我们要取前面那部分,有2个方法:
方法一,也就是xiehuahere的回答:
a[1]=`md5sum a.txt | cut -d' ' -f1`
其中cut的-d,是指定空格为分隔符,-f1是指定取分隔后的第一个字串,就是我们要的MD5值了。
方法二:
md5sum a.txt | awk -F ' ' '{print $1}'
awk的-F ' ',是指定空格为分隔符,是指定空格为分隔符,是指定取分隔后的第一个字串,也是我们要的MD5值。
赋值除了使用“`”反引号,还可以这样,例:
a[1]=$(md5sum a.txt | cut -d' ' -f1)
a[1]=$(md5sum a.txt | awk -F ' ' '{print $1}')
展开全部
a[1]=`md5sum a.txt | cut -d' ' -f1`
更多追问追答
追问
还是不行...只是纯属把md5sum a.txt | cut -d -f1存到数组里而已...
我把.sh代码放到补充里了。
追答
你要的不是这个效果?就是把md5sum a.txt | cut -d -f1的运算结果(就一个md5值)存到数组里,外面是有反引号的 ` ` (键盘上数字1左边的那个符号)
暂时没看到补充,被吞了?
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询