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

相关推荐
倔强的小石头_7 分钟前
Python 从入门到实战(八):类(面向对象的 “对象模板”)
服务器·开发语言·python
ChristXlx11 分钟前
Linux安装mysql(虚拟机适用)
linux·mysql
知星小度S13 分钟前
系统核心解析:深入操作系统内部机制——基础I/O探秘:文件描述符、重定向与Shell的I/O魔法(二)
linux·i/o
小周学学学14 分钟前
vcenter的SMB备份
运维·服务器·vmware·虚拟化
软件测试大叔27 分钟前
CentOS 7.6 安装 nvtop 完整教程
linux·centos·性能监控
qq_3106585136 分钟前
mediasoup源码走读(十二)——router
服务器·c++·音视频
BullSmall43 分钟前
Apache Doris 精细化调优配置指南
linux·运维·服务器·database
QT 小鲜肉1 小时前
【Linux命令大全】001.文件管理之chattr命令(实操篇)
linux·运维·服务器·笔记
落羽的落羽1 小时前
【C++】哈希扩展——位图和布隆过滤器的介绍与实现
linux·服务器·开发语言·c++·人工智能·算法·机器学习
b***25111 小时前
18650与21700电芯电池组PACK自动化生产线的核心差异与协同发展
运维·自动化