grep
grep [OPTIONS] PATTERN [FILE...]
在指定文件中查找内容,PATTERN 可以是字符串或正则表达式
# 在 /home/user1/file 文件中查找所有包含字符串 hello 的行
grep hello /home/user1/file
# 在 /home/user1/file 文件中查找包括字符串 hello world 的行
grep "hello world" /home/user1/file
# 查找以 hello 开头的行
grep ^hello /home/user/file
# 在 /home/user1/file 文件中查找所有包含字符串 hello 的行,忽略大小写
grep -i hello /home/user1/file
# 显示数字编号
grep -n hello /home/user1/file
# 显示不包括 hello 的行
grep -v hello /home/user1/file
# 递归查找目录 /home/user1 下的所有子目录的子文件中包括 hello 的行
grep -r hello /home/user1
sort
sort [OPTION]... [FILE]...
将文件中各行内容按照字母顺序排序
# 将排序结果显示在屏幕上
sort name.txt
# 将排序结果输出到新文件中
sort -o name_sorted.txt name.txt
# 倒序显示
sort -r name.txt
# 随机排序
sort -R name.txt
# 数字按照数值排序
sort -n name.txt
wc
wc [OPTION]... [FILE]...
统计文件的行数、单词数、字节数
wc name.txt
9 9 50 name.txt
显示结果:行数 单词数 字节数
# 只统计行数
wc -l name.txt
9 name.txt
# 只统计单词数
wc -w name.txt
9 name.txt
# 只统计字节数
wc -c name.txt
50 name.txt
# 只统计字符数
wc -m name.txt
50 name.txt
uniq
uniq [OPTION]... [INPUT [OUTPUT]]
删除文件中连续重复的行
# 删除 readme.txt 文件中连续重复的行,不改变源文件,将修改后的输出到屏幕
uniq readme.txt
# 删除 readme.txt 文件中连续重复的行,不改变源文件,将修改后的文件保存到 uniq.txt 文件中
uniq readme.txt uniq.txt
# 统计行数
uniq -c readme.txt
# 只显示重复的行
uniq -d readme.txt
cut
cut OPTION... [FILE]...
剪切文件的部分内容
# 根据字符数来剪切
cut -c 2-4 name.txt
# 根据分隔符来剪切,分隔符是逗号,保留第一段 field
cut -d , -f 1 score.csv
网友评论