【发布时间】:2014-02-14 14:30:35
【问题描述】:
我被告知要编写一个 bash 脚本,用于在“/etc/passwd”文件中添加所有 GroupID,这是我的脚本
#!/bin/sh
# script input should be (sh groupsum.sh /etc/passwd)
if [ -f $1 ] ; then
awk -F ':' '{print $4}' $1 > /tmp/numb
A=`awk '{s+=$1} END {print s}' /tmp/numb`
echo $A
else
echo "its not a file"
fi
脚本运行良好,但为了加快速度,我应该使用 bash 内置命令,而不是使用“awk”。所以我需要使用内置命令来实现这一点的信息,如果有人对此给出解释,那就太好了。
【问题讨论】:
-
我认为
awk -F: '{print s+=$4} END{print s}' /etc/passwd相当快。 -
你真的需要这样做很多次,以至于原生 bash 与 awk 的性能很重要吗?
-
将组 ID 添加在一起有什么可能的用途?听起来像是一个设计不佳的家庭作业。