为什么要学习Shell编程?

前端之家收集整理的这篇文章主要介绍了为什么要学习Shell编程?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
为什么要学习 Shell编程?在现实世界中可以做些什么呢?你能告诉我一些可以做到这一点的功能,还是一些特殊功能,以便说服我现在应该开始学习shell编程?
学习shell编程有十几个原因.其中一个主要原因是系统管理.

有人需要根据同一目录中的另一个文件重新命名〜750个文件.这是用3行shell脚本完成的.要获得更多的例子,只需使用标签[bash],[sed] or [awk]搜索问题.

当有人要求我向他们展示一个很好的“shell编程”的例子时,我总是向他们展示这个awk 1行(甚至是一个1字)?它将过滤列表以仅显示唯一值而不更改原始顺序.这很重要,因为大多数其他解决方案要求您首先对列表进行排序,从而破坏原始顺序.

$echo -e "apple\npear\napple\nbanana\nmango\npear\nbanana" | awk '!a[$0]++'
apple
pear
banana
mango

awk命令说明

非排序独特的魔法发生在!a [$0].由于awk支持关联数组,它使用当前记录(aka行)$0作为数组a []的键.如果以前没有看到该键,则[$0]计算为0(零),这是未设置索引的awk默认值.然后,我们在该键的第一次出现时取消此值返回TRUE. a [$0]然后递增,以便此键上的后续命中将返回FALSE,因此不会打印重复值.我们还利用这样一个事实:如果一个表达式返回TRUE并且没有给出进一步的{commands},那么awk将默认打印$0(打印当前记录/行).

如果你仍然不明白,别担心,这是一个非常简洁和优化的版本,可能是一个更长的awk脚本.

猜你在找的Bash相关文章