需求1
使用hostname -I
创建文件名
echo `hostname -I`.txt
10.0.0.124 .txt
# 需要注意,这里的.txt前有一个空格,需要去掉,不然就是两个文件名
解法
echo `hostname -I | awk '{print $1}'`.txt
10.0.0.124.txt
需求2
去除/etc/ssh/sshd_config的空行和注释行
解法(3种-grep/sed/awk)
egrep -v '^$|^#' /etc/ssh/sshd_config | wc -l
45
sed -r '/^$|^#/d' /etc/ssh/sshd_config | wc -l
45
awk '!/^$|^#/' /etc/ssh/sshd_config | wc -l
45
需求3
获取最后一列为6个连续数字的行,输出行号和这一行
解法
awk -F':' '$NF~/^[0-9]{6}$/{print NR,$0}' 文件路径
#解释:
# -F 分隔符,默认空格
# $NF 最后一列
# ~ 包含,即匹配$NF列包含所需内容的行
# print NR,$0 打印行号和这一行