shell练习1详解程序员

题目 把ls -l 的输出按照属主分类,打印每个属住的文件名

ls -l |sed -n '2,$p'| awk ' 
{hash[$3]=hash[$3]"""/n/t"$9}  
END{ 
for (user in hash)  
    print user"/n", hash[user]"/n" 
}'

主要是这个hash[$3]=hash[$3]”””/n/t”$9,awk字符串拼接不能用+,用两个双引号

另一种实现 是浮夸写的

ls -l | sed -n '2,$p' | awk '{print $3,$9}'| sort | awk ' 
$1==name { 
print "/t",$2 
} 
$1!=name{ 
name=$1; 
print $1;print "/t" $2 
}'

 

原创文章,作者:Maggie-Hunter,如若转载,请注明出处:https://blog.ytso.com/2484.html

(0)
上一篇 2021年7月16日
下一篇 2021年7月16日

相关推荐

发表回复

登录后才能评论