linux练习-2

方法一:

bash 复制代码
#!/bin/bash
wc -l ./nowcoder.txt | awk '{print $1}'
read -a arr
while [ ${#arr[@]} -eq 2 ]
    do
        sum=$((${arr[0]} + ${arr[1]}))
        echo $sum
        read -a arr
    done
exit 0

方法二:

bash 复制代码
#!/bin/bash
awk '{print NR}' ./nowcoder.txt | tail -n1
read -a arr
while [ ${#arr[@]} -eq 2 ]
    do
        sum=$((${arr[0]} + ${arr[1]}))
        echo $sum
        read -a arr
    done
exit 0

方法三:

bash 复制代码
#!/bin/bash
awk 'END{print NR}' ./nowcoder.txt 
read -a arr
while [ ${#arr[@]} -eq 2 ]
    do
        sum=$((${arr[0]} + ${arr[1]}))
        echo $sum
        read -a arr
    done
exit 0

方法四:

bash 复制代码
#!/bin/bash
grep -c "" ./nowcoder.txt
read -a arr
while [ ${#arr[@]} -eq 2 ]
    do
        sum=$((${arr[0]} + ${arr[1]}))
        echo $sum
        read -a arr
    done
exit 0

方法五:

bash 复制代码
#!/bin/bash
sed -n '$=' ./nowcoder.txt
read -a arr
while [ ${#arr[@]} -eq 2 ]
    do
        sum=$((${arr[0]} + ${arr[1]}))
        echo $sum
        read -a arr
    done
exit 0

Linux 文本处理四剑客详细对比表

工具 主要功能 核心用途 常用选项/命令 典型应用场景
wc (Word Count)​ 文本统计 统计行数、单词数、字节数 -l统计行数 -w统计单词数 -c统计字节数 -m统计字符数 • 统计代码行数 • 计算日志文件大小 • 检查文档单词数量
grep (Global Regular Expression Print)​ 文本搜索 基于模式匹配搜索文本行 -i忽略大小写 -v反向匹配 -n显示行号 -c统计匹配数 -r递归搜索 • 日志错误排查 • 代码中查找函数 • 过滤命令输出
awk (Aho, Weinberger, Kernighan)​ 文本分析 结构化数据处理和报表生成 {print $1}打印第一列 NR行号变量 NF列数变量 -F指定分隔符 • 处理CSV/日志数据 • 数据统计计算 • 报表生成
sed (Stream Editor)​ 文本编辑 流式文本查找替换和编辑 s/old/new/替换 d删除行 p打印行 -i原地编辑 • 批量文本替换 • 配置文件修改 • 数据清洗
bash 复制代码
#!/bin/bash
tail -n 5 ./nowcoder.txt 
read -a arr
while [ ${#arr[@]} -eq 2 ]
    do
        sum=$((${arr[0]} + ${arr[1]}))
        echo $sum
        read -a arr
    done
exit 0

查看文件的前5行,可以使用head命令,如

head -5 filename

查看文件的后5行,可以使用tail命令,如:

tail -5 filename 或 tail -n 5 filename

查看文件中间一段,你可以使用sed命令,如:

sed -n '5,20p' filename

这样你就可以只查看文件的第5行到第20行。

bash 复制代码
#!/bin/bash
seq 0 7 500
read -a arr
while [ ${#arr[@]} -eq 2 ]
    do
        sum=$((${arr[0]} + ${arr[1]}))
        echo $sum
        read -a arr
    done
exit 0

一、输出连续的数字

seq 1 100

表示: 输出所有1到100之间的数字;

二、输出固定间隔的数字

seq 0 7 500

表示: 输出所有 0到500内 7个倍数;

三、输出指定格式的数字

1、【-s 用于使用指定的字符串分割数字】

seq -s "+" 1 100

表示:输出1到100之间的数字,每个数字间由+号间隔;

2、【-f 使用print 样式的浮点格式输出,默认使用 %g 】

seq -f "file%g" 1 10

相关推荐
jarreyer9 小时前
【AI Agent】大模型自动化载体
运维·自动化
xixingzhe29 小时前
SpringBoot + Nginx 免鉴权接口安全防护方案
运维·nginx·安全
翼龙云_cloud10 小时前
阿里云国际代理商:阿里云 ECS 全维度监控配置教程
运维·阿里云·云计算·监控
笑锝没心没肺10 小时前
fail2ban工具安装配置及使用
linux·运维·服务器
zt1985q11 小时前
本地部署开源智能家居集成平台 ioBroker 并实现外部访问( Windows 版本)
运维·服务器·智能家居
大卡片12 小时前
linux内核驱动开发
linux·运维·驱动开发
心心喵13 小时前
[linux] nohup和pm2的区别 进程保活
linux·运维·服务器
NGINX开源社区14 小时前
F5 NGINX Ingress Controller 5.3.0 新增功能
运维
醉熏的石头14 小时前
Ubuntu 中的编程语言(中)
linux·ubuntu·scala
SelectDB15 小时前
Apache Doris 在 AgentLogsBench 中领先,支撑 Agent 可观测性生产负载
运维·数据库·agent