linux的shell,怎么把一个文件的md5值赋值到一个数组里 类似 a[1]=md5sum a.txt ,但是这样没法赋值,求解

 我来答
miniapp5AjLqhxOBx3Xb
2013-03-20 · TA获得超过1182个赞
知道小有建树答主
回答量:699
采纳率:50%
帮助的人:294万
展开全部
注意,命令引起来的是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}')
百度网友5311d79
2013-03-20 · TA获得超过1.9万个赞
知道大有可为答主
回答量:6356
采纳率:71%
帮助的人:3144万
展开全部
a[1]=`md5sum a.txt | cut -d' ' -f1`
更多追问追答
追问
还是不行...只是纯属把md5sum a.txt | cut -d -f1存到数组里而已...
我把.sh代码放到补充里了。
追答
你要的不是这个效果?就是把md5sum a.txt | cut -d -f1的运算结果(就一个md5值)存到数组里,外面是有反引号的 ` ` (键盘上数字1左边的那个符号)
暂时没看到补充,被吞了?
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式