苏问
苏问
全部文章
分类
归档
标签
去牛客网
登录
/
注册
苏问的博客
全部文章
(共5篇)
题解 | 将字段逆序输出文件的每行
思路:在linux的for循环场景中,处理文件/目录适合用shell,而处理文本更适合用awk,这方面在性能和效率都是awk更优。于是直接用awk处理。构造awk的for循环,每次取一行,然后以内置变量NF为位置索引逆序输出该行的每个字段。 #!/bin/bash awk -F ":&qu...
2026-01-16
1
46
题解 | 判断输入的是否为IP地址
思路:先用 grep 正则判断是否为四段号码,不是直接输出error;再用 awk 存为数组,分别判断每段是否≤255,是则输出yes,否则输出no #!/bin/bash text=$(cat nowcoder.txt) for i in $text; d...
2026-01-16
0
31
题解 | 求平均值
思路:用awk提取文本文件并赋值为数组,然后用for循环求数组的总和,用bc求平均值以保留3位小数。 #!/bin/bash arr=($(awk 'NR>1' nowcoder.txt)) length=$(head -n 1 nowcoder.txt) sum=0 for i in &qu...
2026-01-15
0
27
题解 | 打印每一行出现的数字个数
思路:使用read命令读每行,然后用grep筛选出数字,用wc统计出个数。 #!/bin/bash sum=0 ni=0 while IFS= read -r line; do n=$(echo "$line" |\ grep -o '[1-5]' |\ wc -l \...
2026-01-15
0
33
题解 | 第二列是否有重复
#!/bin/bash text=$(cat nowcoder.txt |\ awk '{print$2}' |\ sort |\ uniq -c |\ awk '$1!="1"{print$1" "$2}' |\ sort -k1,1n -k2,2...
2026-01-15
0
37