linux常见题目

1. 把一个文件里面所有包含 abc 的行里面的 abc 替换成 def,然后输出第一列和第三列

cat abc.txt | grep abc | sed ‘s/abc/def/g‘ | awk ‘{print $1,$3}‘
awk ‘$0 ~ /abc/ {gsub("abc", "def", $0); print $1, $3}‘ abc.txt

2. 统计一个日志文件里面访问量最大的 2 个 ip

cat access.log | awk ‘{print $1}‘ | sort | uniq -c | sort -nr | head -n 2
awk ‘{ips[$1]++} END{for(ip in ips) { print ip, ips[ip]} }‘ access.log | sort -k2nr | head -n2

3. 产生一个文件,其中包含最近 30 天的日期

for i in $(seq 1 30); do d=$(date -d "$i days ago" +%Y-%m-%d); echo $d; done

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。