首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

​Linux 打印文本部分行内容(前几行,指定行,中间几行,跨行,奇偶行,后几行,最后一行,匹配行)

测试文本 # 生成测试文本内容 $ seq -f "%02g daodaotest" 1 10 > test.txt # 查看测试文本内容,并显示行号 $ cat -n test.txt 1...|| (NR>4 && NR<8)' test.txt 打印奇偶行内容 # 打印奇数行内容 ## NR 表示行号 $ awk 'NR%2!...1(因为上次 i 的值由 0 变成了 1),条件为假不打印。 ## 读取第 3 行记录,因为上次条件为假,i 恢复初值为 0,继续打印。...$ awk 'i=!...:m 表示起始行;~2 表示:步长 $ sed -n '1~2p' test.txt ## 先打印第 1 行,执行 n 命令读取当前行的下一行,放到模式空间,后面再没有打印模式空间行操作,所以只保存不打印

13.6K32
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    监控日志文件的md5值更新时间,如果N分钟后无变化则重启应用

    log/shell         #日志路径 log=$logdir/check.log            #日志文件  is_font=1                #终端是否打印日志: 1打印 ...0不打印  is_log=1                 #是否记录日志: 1记录 0不记录 restart_file=/data/scripts/run.sh  #服务启动和关闭控制脚本 end_string...:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin:$JAVA_HOME/bin is_font=1                #终端是否打印日志: 1打印 ...0不打印 is_log=1                 #是否记录日志: 1记录 0不记录 logdir=/data/log/shell         #日志路径 log=$logdir/restart.log...log/shell         #日志路径 log=$logdir/check.log            #日志文件  is_font=1                #终端是否打印日志: 1打印

    1.3K60

    Shell四剑客实操案例

    : sed [-Options] [‘Commands’] filename;sed工具默认处理文本,文本内容输出屏幕已经修改,但是文件内容其实没有修改,需要加-i参数即对文件彻底修改;x #x为指定行号...;x,y #指定从x到y的行号范围;/pattern/ #查询包含模式的行;/pattern/pattern/ #查询包含两个模式的行;/pattern/,x #从与pattern的匹配行到x号行之间的行...#查询不包括x和y行号的行;r #从另一个文件中读文件;w #将文本写入到一个文件;y #变换字符;q #第一个模式匹配完成后退出;l #显示与八进制ASCII码等价的控制字符; 常用SED工具企业演练案列...$0}’ jfedu.txt 打印jfedu.txt文件中,长度大于80的行号: awk ‘length($0)>80 {print NR}’ jfedu.txt AWK引用Shell变量,使用-...;grep -v “test” jfedu.txt 不打印test的行;grep “test[53]” jfedu.txt 以字符test开头,接5或者3的行;grep “^[^test]” jfedu.txt

    2.1K21

    秘钥认证用户自动控制

    /shell          #日志路径 log=$logdir/shell.log            #日志文件  is_font=1                #终端是否打印日志: 1打印 ...0不打印  is_log=0                 #是否记录日志: 1记录 0不记录 random_time=$(date +%Y%m%d_%H%M%S) datef(){ date "+...then print_log "$FUNCNAME():\033[31m用户名不能为空\033[0m" exit fi User=$(cat /etc/passwd |grep -v "nologin" |awk.../shell          #日志路径 log=$logdir/shell.log            #日志文件  is_font=1                #终端是否打印日志: 1打印 ...0不打印  is_log=0                 #是否记录日志: 1记录 0不记录 random_time=$(date +%Y%m%d_%H%M%S) #定义默认公钥 default_publicKey

    74340

    linux常用指令学习记录

    > file3 将file1 file2的内容依次添加到file3当中 tac 从下往上阅读文件内容,用法同cat nl 添加行号打印,默认情况下空白行不显示行号 nl [-bnw] ${FILE_NAME...} nl -b a file1 即使空白行也显示行号 nl -b a -n rz file 空白行也显示行号,并且行号在字段的最右方显示,且行号不用加0对齐 more/less 一页一页翻动文件。...tail [-n number] ${FILE_NAME} head -n 10 file 读取文件前十行的内容 tail -n 10 file 读取文件后十行的内容 head -n -10 file 不打印文件后十行内容...主要是处理每一行的字段内的数据,而默认的字段的分隔符为空格键或tab键 awk '条件类型{动作1}条件类型2{动作2}...' filename NF:$0每一行拥有的字段总数 NR:目前awk所处理的是第几行数据...FS: 目前的分隔符 last -n 5 | awk '{print $1 "\t" $3}' #打印一行的第一段文字和第三段文字 last -n 5 | awk '{print $1 "\t lines

    1.3K20

    shell数据筛选与处理

    awk的应用场景 ​ 字符串截取 ​ 数据运算 比如内存使用率脚本 shell对输出流的处理-awk 1、awk介绍 在日常计算机管理中,总会有很多数据输出到屏幕或者文件,这些输出包含了标准输出、标准错误输出...3.3)awk对记录(行)的提取 记录提取:提取一个文本中的一行并打印输出 记录的提取方法有两种:a、通过行号 b、通过正则匹配 记录相关内置变量 NR: 指定行号 number row 提取test...第三行数据 指定行号为3 [root@zutuanxue ~]# awk 'NR==3{print $0}' test 3 the quick brown fox jumps over...~]# awk 'NR==3{print $6}' test jumps 4、awk程序的优先级 awk代码块的优先级 关于awk程序的执行优先级,BEGIN是优先级最高的代码块,是在执行PROGRAM...用空格定义每个数据字段的精确宽度 FS 输入字段分隔符号 数据源的字段分隔符 -F OFS 输出字段分隔符号 RS 输入记录分隔符 ORS 输出记录分隔符号 FIELDWIDTHS:重定义列宽并打印,注意不可以使用$0打印所有

    1.4K20

    使用awk和sed获取文件奇偶数行的方法总结

    i)' test.file 打印偶数行 其他相关正则取值说明 1) 打印行号和内容 [root@localhost ~]# awk '{print NR":"$0}' test.file 1...FNR,表示当前行在文件中的行号 [root@localhost ~]# awk '{ print FNR "\t" $0 }' test.file 1 111111111111111 2...NR,表示当前行在本次处理过程中的行号 [root@localhost ~]# awk '{ print NR "\t" $0 }' test.file 1 111111111111111...原来:FNR,是每个文件中的,换了一个文件,会归零;而NR则每个文件会累加起来的 7) 使用简单样式来输出 下面表示"行号占用5位,不足补空格" [root@localhost ~]# awk '{...9) 计算行数:效果类似wc -l END表示每行都处理完了后,在执行,此时NR就是最后一行的行号,也就是总的行数了。

    1.3K40

    Linux Shell工具篇 - 文本分析工具awk

    FILENAME awk浏览的文件名 FNR 浏览文件的记录数 FS 设置输入域分隔符,等价于命令行 -F选项 NF 浏览记录的域的个数, 根据分隔符分割后的列数 NR 已读的记录数, 也是行号 OFS.../{print $7}' passwd # -F: 以':'分隔符拆分每一个列(域)数据 运行效果 4.打印文件每行属性信息 统计passwd:文件名,每行的行号,每行的列数,对应的完整行内容: awk...-F ':' '{print "文件名:" FILENAME ",行号:" NR ",列数:" NF ",内容:" $0}' passwd # "文件名:" 用于拼接字符串 运行效果 使用printf...替代print,可以让代码阅读性更好: awk -F ':' '{printf("文件名:%5s,行号:%2s, 列数:%1s, 内容:%2s\n",FILENAME,NR,NF,$O)}' passwd...运行效果 16.显示空行行号 查询sed.txt中空行所在的行号: sed 'G' sed.txt | awk '/^$/{print NR}' 运行效果

    1.7K20
    领券