Menu Close

50个linux文本处理命令

以下是Linux中常用的50个文本处理命令清单,每个命令都带有简要说明和用途示例。

它们可以帮助你在命令行中高效地处理文本文件、字符串和数据流。

1. cat – 输出文件内容

  • 示例:cat file.txt 输出文件内容到标准输出。

2. tac – 反向输出文件内容

  • 示例:tac file.txt 从最后一行开始反向显示文件内容。

3. nl – 输出文件并添加行号

  • 示例:nl file.txt 输出文件并为每一行添加行号。

4. head – 显示文件的前几行

  • 示例:head -n 10 file.txt 显示文件的前10行。

5. tail – 显示文件的后几行

  • 示例:tail -n 10 file.txt 显示文件的最后10行。

6. more – 分页查看文件内容

  • 示例:more file.txt 按页查看文件内容。

7. less – 分页查看文件,支持上下滚动

  • 示例:less file.txt 以可上下滚动的方式查看文件内容。

8. wc – 统计文件的行数、单词数和字符数

  • 示例:wc file.txt 显示文件的行数、单词数和字符数。

9. cut – 按列切割文本

  • 示例:cut -d ',' -f 1 file.txt 按逗号分隔并提取第一列。

10. paste – 合并文件行

  • 示例:paste file1.txt file2.txt 将两个文件的内容并列显示。

11. sort – 对文本行进行排序

  • 示例:sort file.txt 按字母顺序排序文件行。

12. uniq – 删除连续重复行

  • 示例:uniq file.txt 删除文件中的重复行。

13. tr – 替换或删除字符

  • 示例:tr 'a' 'A' < file.txt 将文件中的小写字母 “a” 替换为大写字母 “A”。

14. sed – 流编辑器,用于查找和替换

  • 示例:sed 's/old/new/g' file.txt 将文件中的 “old” 替换为 “new”。

15. awk – 文本处理语言,用于格式化和处理文本

  • 示例:awk '{print $1}' file.txt 输出文件的第一列。

16. grep – 搜索文件中的模式匹配行

  • 示例:grep 'pattern' file.txt 查找包含 “pattern” 的行。

17. egrep – 使用扩展正则表达式搜索

  • 示例:egrep 'foo|bar' file.txt 查找 “foo” 或 “bar”。

18. fgrep – 以固定字符串搜索

  • 示例:fgrep 'pattern' file.txt 查找 “pattern” 字符串。

19. find – 查找文件并执行操作

  • 示例:find . -name "*.txt" -exec grep 'pattern' {} \; 查找并处理文件。

20. xargs – 构建并执行命令

  • 示例:find . -name "*.txt" | xargs grep 'pattern' 查找并处理文件。

21. diff – 比较文件的差异

  • 示例:diff file1.txt file2.txt 显示两个文件的差异。

22. cmp – 逐字节比较文件

  • 示例:cmp file1.txt file2.txt 逐字节比较两个文件。

23. comm – 比较文件并显示共同和差异部分

  • 示例:comm file1.txt file2.txt 显示两个文件的共同和不同部分。

24. iconv – 转换文件的字符编码

  • 示例:iconv -f utf-8 -t iso-8859-1 file.txt > output.txt

25. fmt – 格式化文本

  • 示例:fmt -w 50 file.txt 将文件中的每行文本调整为50个字符宽。

26. pr – 格式化文件用于打印

  • 示例:pr file.txt 将文本格式化为多列显示。

27. fold – 将长行折叠为指定宽度

  • 示例:fold -w 50 file.txt 将文件内容折叠为50个字符宽。

28. join – 根据一个公共字段合并文件

  • 示例:join file1.txt file2.txt 通过共同的字段合并两个文件。

29. split – 将文件分割为小文件

  • 示例:split -l 1000 file.txt 每1000行分割为一个小文件。

30. csplit – 按模式分割文件

  • 示例:csplit file.txt '/pattern/' 按模式分割文件。

31. tee – 从标准输入读取并同时写入文件和标准输出

  • 示例:echo "hello" | tee file.txt 将输出写入文件并打印到终端。

32. rev – 反转文本行中的字符

  • 示例:rev file.txt 反转文件中的每一行字符。

33. od – 以八进制或其他格式显示文件内容

  • 示例:od -c file.txt 以字符形式显示文件内容。

34. xxd – 创建十六进制转储并进行反转

  • 示例:xxd file.txt 以十六进制显示文件内容。

35. base64 – 对文本进行Base64编码/解码

  • 示例:base64 file.txt 对文件内容进行Base64编码。

36. strings – 从二进制文件中提取可打印字符串

  • 示例:strings file.bin 提取二进制文件中的可读字符串。

37. expand – 将制表符转换为空格

  • 示例:expand file.txt 将文件中的制表符转换为空格。

38. unexpand – 将空格转换为制表符

  • 示例:unexpand file.txt 将文件中的空格转换为制表符。

39. iconv – 转换文件的字符编码

  • 示例:iconv -f UTF-8 -t ISO-8859-1 file.txt -o output.txt

40. col – 过滤掉反向换行符

  • 示例:col -b file.txt 过滤文本中的控制字符。

41. colrm – 从文本中删除指定列

  • 示例:colrm 8 20 < file.txt 删除文件中的第8到第20列。

42. cut – 从文本中提取指定字段

  • 示例:cut -d ',' -f 1 file.csv 提取CSV文件的第一列。

43. join – 根据共同字段连接文件

  • 示例:join file1.txt file2.txt

44. lpr – 将文件发送到打印机

  • 示例:lpr file.txt

45. shuf – 随机排列文本行

  • 示例:shuf file.txt 随机打乱文件行。

46. uniq – 去除重复行

  • 示例:uniq file.txt

47. colordiff – 彩色显示 diff 的输出

  • 示例:colordiff file1.txt file2.txt

48. watch – 实时监控命令输出

  • 示例:watch -n 1 tail -n 10 file.txt 每秒查看文件最后10行。

49. iconv – 文件字符编码转换

  • 示例:iconv -f utf-8 -t iso-8859-1 input.txt > output.txt

50. yes – 连续输出指定文本

  • 示例:yes "hello" 不断输出 “hello”。

总结:

这50个命令涵盖了Linux中常见的文本处理功能,如文件查看、编辑、排序、过滤、合并和编码转换。掌握这些命令可以大大提高在Linux环境中处理文本文件的效率。

除教程外,本网站大部分文章来自互联网,如果有内容冒犯到你,请联系我们删除!

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

Leave the field below empty!

Posted in 文件

Related Posts