Linux常用指令(八)——管道过滤

Linux管道过滤

      • 8.1 cut命令,剪切指定范围的字段
      • 8.2 grep命令,在文本中查找匹配字符串
      • 8.3 wc命令,计数工具
      • 8.4 sort排序命令
      • 8.5 uniq去重命令
      • 8.6 sed进行文本替换过滤

更加完整的Linux常用指令

在Linux中,管道(pipeline)是一种非常强大的特性,它允许将一个命令的输出作为另一个命令的输入,从而实现数据流的传递和处理。通过管道,可以轻松地将多个命令组合起来,以实现复杂的数据处理任务。过滤(filtering)则是管道中常见的一种操作,用于对数据流进行筛选、转换或处理

8.1 cut命令,剪切指定范围的字段

# 打印 /etc/passwd 文件中以 : 为分隔符的第 1 个字段和第 6 个字段分别表示用户名和其家目录
cut /etc/passwd -d ':' -f 1,6

# 打印/etc/passwd文件中每一行的前N个字符
# 前五个(包含第五个)
cut /etc/passwd -c -5
# 前五个之后的(包含第五个)
cut /etc/passwd -c 5-
# 第五个
cut /etc/passwd -c 5
# 2 到 5 之间的(包含第五个)
cut /etc/passwd -c 2-5

8.2 grep命令,在文本中查找匹配字符串

# 搜索/home/shiyanlou目录下所有包含"shiyanlou"的文本文件
# 并显示出现在文本中的行号
# -r:递归搜索子目录
# -n:打印匹配项行号
# -I:忽略二进制文件
grep -rnI "shiyanlou" ~

# 查找指定ssh服务进程
ps -ef | grep sshd

8.3 wc命令,计数工具

# 显示/etc/passwd中的行数
wc -l /etc/passwd
# 单词数
wc -w /etc/passwd
# 字节数
wc -c /etc/passwd
# 字符数
wc -m /etc/passwd
# 最长行字节数
wc -L /etc/passwd

8.4 sort排序命令

# 默认为字典排序
cat /etc/passwd | sort

# 按特定字段排序
# -t参数,指定分割符为':'
# -k参数:字段号,指定对哪个字段进行排序
cat /etc/passwd | sort -t ':' -k 3

8.5 uniq去重命令

# 将file.txt文件的内容通过管道先传递给sort排序,然后再通过uniq命令去除相邻的重复行
cat file.txt | sort | uniq

8.6 sed进行文本替换过滤

# 将file.txt文件的内容通过管道传递给sed命令,sed会将所有出现的"old"替换为"new"
cat file.txt | sed 's/old/new/g'

你可能感兴趣的:(基础学习,linux,chrome,运维)