Linux:文本处理与检索
读取、查看与检索
cat(Linux) · 打印和连接文件
另请参阅:
bat。 更多信息:https://www.gnu.org/software/coreutils/manual/html_node/cat-invocation.html。
- 将文件内容打印到
stdout:
cat {{路径/到/文件}}- 将多个文件连接到一个输出文件:
cat {{路径/到/文件1 路径/到/文件2 ...}} > {{路径/到/输出文件}}- 将多个文件附加到输出文件:
cat {{路径/到/文件1 路径/到/文件2 ...}} >> {{路径/到/输出文件}}- 将
stdin写入文件:
cat - > {{路径/到/文件}}- 显示带有行号的所有行:
cat {{[-n|--number]}} {{路径/到/文件}}- 显示不可打印字符和空白字符(如果非 ASCII,则带有
M-前缀):
cat {{[-vte|--show-nonprinting -t -e]}} {{路径/到/文件}}head(Linux) · 输出文件的开头部分的内容
另请参阅:
tail。 更多信息:https://www.gnu.org/software/coreutils/manual/html_node/head-invocation.html。
- 输出文件的前几行:
head {{[-n|--lines]}} {{数目}} {{路径/到/文件}}- 输出文件的前几个字节:
head {{[-c|--bytes]}} {{数目}} {{路径/到/文件}}- 输出文件除最后几行之外的所有内容:
head {{[-n|--lines]}} -{{数目}} {{路径/到/文件}}- 输出文件除最后几个字节之外的所有内容:
head {{[-c|--bytes]}} -{{数目}} {{路径/到/文件}}more(Linux) · 以交互方式显示文件,允许滚动和搜索
另请参阅:
less。 更多信息:https://manned.org/more。
- 打开文件:
more {{路径/到/文件}}- 显示特定行:
more +{{行号}} {{路径/到/文件}}- 转到下一页:
<空格键>- 搜索字符串(按
<n>转到下一个匹配项):
</>{{关键字}}<Enter>- 退出:
<q>- 显示有关交互式命令的帮助:
<h>创建、修改与转换
sed(Linux) · 以脚本方式编辑文本
另请参阅:
awk,ed。 更多信息:https://www.gnu.org/software/sed/manual/sed.html。
- 将所有输入行中出现的
apple(基本正则语法)替换为mango(基本正则语法),并将结果打印到stdout:
{{命令}} | sed 's/apple/mango/g'- 将所有输入行中出现的
apple(扩展正则语法)替换为APPLE(扩展正则语法),并将结果打印到stdout:
{{命令}} | sed {{[-E|--regexp-extended]}} 's/(apple)/\U\1/g'- 用
mango(基本正则语法)替换特定文件中出现的所有apple(基本正则语法),并覆盖原文件:
sed {{[-i|--in-place]}} 's/apple/mango/g' {{路径/到/文件}}- 执行特定的脚本,并将结果打印到
stdout:
{{命令}} | sed {{-f|--file}} {{路径/到/脚本.sed}}- 打印第一行到
stdout:
{{命令}} | sed {{[-n|--quiet]}} '1p'- 删除文件第一行:
sed {{[-i|--in-place]}} 1d {{路径/到/文件}}- 插入新行到文件的第一行:
sed {{[-i|--in-place]}} '1i\your new line text\' {{路径/到/文件}}专用工具与其他操作
ascii(Linux) · 显示 ASCII 字符的别名
- 显示一个 ASCII 字符的别名:
ascii {{a}}- 以较短和脚本友好模式显示 ASCII 字符的别名:
ascii -t {{a}}- 显示多个 ASCII 字符的别名:
ascii -s {{tldr}}- 显示十进制 ASCII 字符表:
ascii -d- 显示十六进制 ASCII 字符表:
ascii -x- 显示八进制 ASCII 字符表:
ascii -o- 显示二进制 ASCII 字符表:
ascii -b- 显示选项总结和整个 ASCII 字符表:
asciibalooctl(Linux) · KDE Plasma 的文件索引和搜索框架
- 显示索引器状态:
balooctl status- 开启或关闭文件索引器:
balooctl {{enable|disable}}- 清除索引数据库:
balooctl purge- 挂起文件索引器:
balooctl suspend- 恢复文件索引器:
balooctl resume- 显示 Baloo 占用的磁盘空间大小:
balooctl indexSize- 检查未索引的文件并索引它们:
balooctl check- 显示帮助:
balooctl {{[-h|--help]}}diff3(Linux) · 逐行比较三个文件
更多信息:https://www.gnu.org/software/diffutils/manual/diffutils.html#Invoking-diff3。
- 比较文件:
diff3 {{路径/到/文件1}} {{路径/到/文件2}} {{路径/到/文件3}}- 展示所有的变化,同时列出冲突:
diff3 {{[-A|--show-all]}} {{路径/到/文件1}} {{路径/到/文件2}} {{路径/到/文件3}}dos2unix(Linux) · 将 DOS 样式的行尾更改为 Unix 样式
用 LF 替换 CRLF。 另请参阅:
unix2dos,unix2mac,mac2unix。 更多信息:https://manned.org/dos2unix。
- 更改文件的行尾:
dos2unix {{文件名}}- 使用 Unix 样式的行尾创建副本:
dos2unix {{[-n|--newfile]}} {{输入文件名}} {{新文件名}}hexdump(Linux) · 一个 ASCII、十进制、十六进制、八进制转换查看工具
另请参阅:
hexyl,od,xxd。 更多信息:https://manned.org/hexdump。
- 打印文件的十六进制表示形式,重复的行用 '*' 替代:
hexdump {{路径/到/文件}}- 以十六进制显示输入偏移量,并在最后两列中显示其 ASCII 表示形式:
hexdump {{[-C|--canonical]}} {{路径/到/文件}}- 显示文件的十六进制表示,但只解释输入的指定字节数:
hexdump {{[-C|--canonical]}} {{[-n|--length]}} {{字节数}} {{路径/到/文件}}- 不使用 '*' 替换重复的行:
hexdump {{[-v|--no-squeezing]}} {{路径/到/文件}}mac2unix(Linux) · 将旧式 Mac 的 CR 行尾更改为 Unix 的 LF
用 LF 替换 CR;现代 macOS 文本通常也使用 LF。 另请参阅:
unix2dos,unix2mac,dos2unix。 更多信息:https://manned.org/mac2unix。
- 更改文件的行尾:
mac2unix {{文件名}}- 使用 Unix 样式的行尾创建副本:
mac2unix {{[-n|--newfile]}} {{文件名}} {{新文件名}}ul(Linux) · 执行文本的下划线
给定字符串中的每个字符必须单独加下划线。 更多信息:https://manned.org/ul。
- 在适用的情况下用下划线显示文件的内容:
ul {{文件路径}}- 用由破折号组成的下划线显示文件的内容
-:
ul {{[-i|--indicated]}} {{文件路径}}unix2dos(Linux) · 将 Unix 样式的行尾更改为 DOS 样式
用 CRLF 替换 LF。 另请参阅:
unix2mac,dos2unix,mac2unix。 更多信息:https://manned.org/unix2dos。
- 更改文件的行尾:
unix2dos {{文件名}}- 使用 DOS 样式的行尾创建副本:
unix2dos {{[-n|--newfile]}} {{文件名}} {{新文件名}}unix2mac(Linux) · 将 Unix 的 LF 行尾更改为旧式 Mac 的 CR
用 CR 替换 LF;这不是现代 macOS 文本的默认换行。 另请参阅:
unix2dos,dos2unix,mac2unix。 更多信息:https://manned.org/unix2mac。
- 更改文件的行尾:
unix2mac {{文件名}}- 使用 macOS 样式的行尾创建副本:
unix2mac {{[-n|--newfile]}} {{文件名}} {{新文件名}}示例整理自 tldr-pages,作者为 tldr-pages team and contributors,遵循 CC BY 4.0。
继续阅读
- 知识专题
- 应用实践
- 知识专题