7-awk文件匹配读取

主文件

#! /bin/bash

#awk 文本读取和匹配
#https://blog.csdn.net/wdz306ling/article/details/80383824

# 语法格式:awk [选项]  '指令'  操作文件
#		-F  指定分隔符,分隔符用 "" 引起来
#		-v:var=value在awk程序开始之前指定一个值valu给变量var,这些变量值用于awk程序的BEGIN快
#		-f:后面跟一个保存了awk程序的文件,代替在命令行指定awk程序

#读文件
awk  '{print}'  7-test.txt ##逐行读取文件7-test.txt内容并打印
echo -e "********************************>\n"
awk '{print $0}' 7-test.txt  #逐行读取文件内容,并打印该行,$0保存的是当前行的内容(全部)
awk '{print $1}' 7-test.txt #$1是打印每段地一个单词,即第n列内容
echo -e "********************************>\n"
awk -F ":"  '{print $1}' 7-test.txt #仅仅显示到 : 前第一列的内容
num=`wc 7-test.txt` # 统计 .txt文件有多少 行 列 单位字数
num1=`wc 7-test.txt | awk '{print $1}'` #有多少列
echo -e ${num} "********************************>\n"

awk '/Though/{print}' 7-test.txt #打印 .txt中匹配Though的那一行内容
awk -F ":"  '$1 ~ /15/{print $2}' 7-test.txt #匹配第一列匹配 15 的行其第二列的内容 ~ 表示匹配

# awk提供了多个比较操作符:"=="  ">" "<"  "<=" ">="  "!="   "~"匹配    "!~"不匹配
awk 'BEGIN{ FS=":"}  $1 == "15"  {print $3}'  7-test.txt  #以":"为分隔符,打印.txt中第一列是15 的行其第3列的内容

# awk中的条件语句
awk 'BEGIN {FS=":"} {if ($1 ~ "root") {print $2}}'   /etc/passwd # 以":"为分隔符,打印/etc/passwd文件中第一列匹配root的行,其第二列的内容

#在awk中NF变量记录的是当前行中有多少列(默认是空格为分割符)
awk '{if (NF >= 5) {print $0}}'   7-test.txt 


7-test.txt 文件

22:16:135:26
15.12:16:993
I am a good boy.
you are a good choose.
I love you.

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 要在Linux中读取文件的指定内容,可以使用以下命令: 1. 使用grep命令 grep命令可以在文件中搜索指定的字符串或模式,并将匹配的行打印出来。例如,要在文件中查找包含“hello”的行,可以使用以下命令: grep "hello" filename 2. 使用sed命令 sed命令可以用来编辑文件中的文本。例如,要在文件中替换所有的“hello”为“world”,可以使用以下命令: sed 's/hello/world/g' filename 3. 使用awk命令 awk命令可以用来处理文本文件中的数据。例如,要在文件中查找第二列包含“hello”的行,可以使用以下命令: awk '$2 ~ /hello/ {print}' filename 以上是三种常用的方法,可以根据具体需求选择使用。 ### 回答2: 在Linux环境下,可以使用各种命令来读取文件中的指定内容。以下是几个常用的方法: 1. 使用cat命令:cat命令可以用来连接文件,将文件的内容输出到标准输出设备。通过结合grep命令,可以指定要读取的内容。例如,要读取文件test.txt中包含"hello"的行,可以使用以下命令: ```shell cat test.txt | grep "hello" ``` 2. 使用sed命令:sed命令是一个流编辑器,可以用来对文本进行替换、删除等操作。可以使用sed命令来读取文件中的指定行、指定字符等内容。例如,要读取文件test.txt中第5行的内容,可以使用以下命令: ```shell sed -n '5p' test.txt ``` 3. 使用awk命令:awk是一种文本分析工具,可以用来逐行处理文件。可以通过指定特定的字段等条件来读取文件中的内容。例如,要读取文件test.txt中第3列等于"abc"的行,可以使用以下命令: ```shell awk -F',' '$3=="abc" {print}' test.txt ``` 4. 使用less或more命令:less和more命令都是用来分页查看文件内容的命令,可以逐页显示文件内容。可以通过搜索功能来定位和读取文件中的指定内容。例如,使用less命令读取文件test.txt,然后按"/"键输入要搜索的内容,按"n"键来查看下一个匹配的内容。 以上是几个常用的方法,可以根据具体的需求选择合适的命令来读取文件中的指定内容。 ### 回答3: 在Linux中,可以使用一些命令和工具来读取文件中特定的内容。 其中,最常用的命令是grep。grep命令用于在文本文件中查找指定的字符串模式,并将匹配到的行打印出来。可以使用grep命令来查找文件中包含特定内容的行,例如: $ grep "特定内容" 文件名 另一个常用的命令是sed。sed命令是一种流编辑器,可以用于对文本进行编辑和替换。可以使用sed命令来读取文件,并根据特定的规则对内容进行替换和编辑。 $ sed -n '行号p' 文件名 例如,要读取文件中的第5行,可以使用以下命令: $ sed -n '5p' 文件名 除了grep和sed命令外,还有其他一些工具也可以用于读取文件中的特定内容。例如,awk命令可以用于按照字段进行查找、提取和处理,并可以根据条件过滤文件内容。可以使用以下命令来读取文件中特定字段的内容: $ awk '{print $字段编号}' 文件名 另一个有用的命令是head和tail。head命令用于查看文件的前几行,而tail命令用于查看文件的后几行。可以使用以下命令来读取文件的前几行或后几行: $ head -n 行数 文件名 $ tail -n 行数 文件名 总之,Linux提供了多种命令和工具来读取文件中的特定内容,可以根据需要选择适合的方法来操作文件。以上只是其中的一些命令示例,具体使用时可以根据实际情况选择合适的命令和参数。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值