【Linux】Shell - 脚本练习 - 截取文件内容

写一个脚本

依次向/etc/passwd中的每个用户问好,并且说出对方的ID是什么

例如:Hello root, your UID is0.


方法1:使用awk指定分隔符

cat /etc/passwd | awk -F ":" '{print "Hello " $1 ", your UID is " $3 }';
# awk -F ":" '{print "Hello " $1 ", your UID is " $3 }' /etc/passwd
# 以冒号作为分隔符,打印第1,3项内容

方法2:使用cut分割每行内容

# /bin/bash

FILE=/etc/passwd
LINES=`wc -l ${FILE} | cut -d" " -f1` # 获取文件行数

for I in `seq 1 ${LINES}` # 生成"1 2 3 4 ..." 数组,循环处理每行内容
do
  currentline=`head -${I} ${FILE} | tail -n1`   # 获取当前行内容
  username=`echo ${currentline} | cut -d: -f1`  # 获取用户名,以冒号作为分隔符的第1项
  userid=`echo ${currentline} | cut -d: -f3`    # 获取用户ID,以冒号作为分隔符的第3项
  echo "hello $username,your UID is $userid"    # 输入内容
done

exit 0;


猜你喜欢

转载自blog.csdn.net/xunmengpiaoyun/article/details/73331235