From 054b06518864de99b1c5287a1430661166c4941c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9E=97=E4=BF=8A=E4=BC=9F?= <2421084001@qq.com> Date: Fri, 31 May 2024 21:47:42 +0800 Subject: [PATCH] bj --- ...30\346\227\245\347\254\224\350\256\260.md" | 154 ++++++++++++++++++ 1 file changed, 154 insertions(+) create mode 100644 "19 \346\236\227\344\277\212\344\274\237/5\346\234\21030\346\227\245\347\254\224\350\256\260.md" diff --git "a/19 \346\236\227\344\277\212\344\274\237/5\346\234\21030\346\227\245\347\254\224\350\256\260.md" "b/19 \346\236\227\344\277\212\344\274\237/5\346\234\21030\346\227\245\347\254\224\350\256\260.md" new file mode 100644 index 0000000..47424c1 --- /dev/null +++ "b/19 \346\236\227\344\277\212\344\274\237/5\346\234\21030\346\227\245\347\254\224\350\256\260.md" @@ -0,0 +1,154 @@ +cat: + + - 常用选项:无 + - 使用语法:`cat [文件名]` + - 使用场景:用于查看文件的内容,或者连接多个文件并将它们输出到标准输出设备上。 + - 使用示例: + - 查看文件 `example.txt` 的内容:`cat example.txt` + - 连接文件 `file1.txt` 和 `file2.txt` 并输出到屏幕:`cat file1.txt file2.txt` + +- **tac**: + + - 常用选项:无 + - 使用语法:`tac [文件名]` + - 使用场景:反向显示文件的内容,从最后一行开始。 + - 使用示例: + - 反向显示文件 `example.txt` 的内容:`tac example.txt` + +- **more** 或 **less**: + + - 常用选项:无 + - 使用语法:`more [文件名]` 或 `less [文件名]` + - 使用场景:分页显示文本文件的内容,允许用户逐页浏览。 + - 使用示例: + - 逐页显示文件 `example.txt` 的内容:`more example.txt` + - 逐页显示文件 `example.txt` 的内容(使用 less):`less example.txt` + +- **head** 或 **tail**: + + - 常用选项:`-n`(指定要显示的行数)、`-f`(实时显示文件的尾部内容)等。 + - 使用语法:`head [选项] 文件名` 或 `tail [选项] 文件名` + - 使用场景:查看文件的开头或结尾部分。 + - 使用示例: + - 显示文件 `example.txt` 的前10行:`head -n 10 example.txt` + - 实时显示文件 `example.log` 的最新内容:`tail -f example.log` + +- **grep**: + + - 常用选项:`-i`(忽略大小写)、`-v`(只显示不匹配的行)、`-r`(递归搜索目录中的文件)等。 + - 使用语法:`grep [选项] 模式 [文件名]` + - 使用场景:在文件中搜索特定的字符串或正则表达式模式。 + - 使用示例: + - 在文件 `example.txt` 中搜索字符串 "hello":`grep "hello" example.txt` + - 递归搜索目录 `dir` 中的所有文件,查找包含字符串 "error" 的行:`grep -r "error" dir` + +- **sed**: + + - 常用选项:`-e`(指定要执行的sed命令)、`-i`(直接修改文件内容)等。 + - 使用语法:`sed [选项] 命令 [文件名]` + - 使用场景:流编辑器,用于对输入流(文件或管道)进行基本的文本转换。 + - 使用示例: + - 将文件 `example.txt` 中的每行开头的 "Hello" 替换为 "Hi":`sed 's/^Hello/Hi/' example.txt` + - 直接修改文件 `example.txt`,将每行开头的 "Hello" 替换为 "Hi":`sed -i 's/^Hello/Hi/' example.txt` + +- **awk**: + + - 常用选项:无 + - 使用语法:`awk '模式 { 命令 }' [文件名]` + - 使用场景:强大的文本分析工具,用于模式扫描和文本/数据提取。 + - 使用示例: + - 提取文件 `example.txt` 中第一列的数据:`awk '{ print $1 }' example.txt` + - 根据条件筛选文件 `example.txt` 中的行:`awk '$3 > 50 { print }' example.txt` + +- **cut**: + + - 常用选项:`-f`(指定要提取的字段)、`-d`(指定字段分隔符)等。 + - 使用语法:`cut [选项] [文件名]` + - 使用场景:从每行中删除部分字段,并输出剩余部分。 + - 使用示例: + - 提取文件 `example.txt` 中的第2和第3列数据:`cut -f 2,3 example.txt` + - 使用逗号作为字段分隔符,提取文件 `example.csv` 中的第1列数据:`cut -d ',' -f 1 example.csv` + +- **join**:根据不同文件中相同的字段值进行行拼接 + + - 常用选项:`-t`(指定字段分隔符)、`-1`(指定第一个文件的连接字段)、`-2`(指定第二个文件的连接字段)等。 + + ``` + join -t ':' -1 1 -2 1 文件1 文件2 + ``` + + + + - 使用语法:`join [选项] 文件1 文件2` + + - 使用场景:基于指定字段合并两个文件的行。 + + - 使用示例: + + - 根据文件 `file1.txt` 和 `file2.txt` 中的共同字段进行连接:`join file1.txt file2.txt` + - 使用制表符作为字段分隔符,连接文件 `file1.txt` 和 `file2.txt`:`join -t $'\t' file1.txt file2.txt` + +- **paste**: + + - 常用选项:`-d`(指定行之间的分隔符)等。 + - 使用语法:`paste [选项] 文件1 文件2` + - 使用场景:合并文件的行,每行由指定的分隔符分隔。 + - 使用示例: + - 合并文件 `file1.txt` 和 `file2.txt` 的每行:`paste file1.txt file2.txt` + - 使用逗号作为行分隔符,合并文件 `file1.txt` 和 `file2.txt` 的每行:`paste -d ',' file1.txt file2.txt` + +- **fmt**: + + - 常用选项:`-w`(指定行宽度)等。 + - 使用语法:`fmt [选项] [文件名]` + - 使用场景:简化文本格式,将文本文件格式化为更易于阅读的宽度。 + - 使用示例: + - 将文件 `example.txt` 的内容重新格式化为80个字符宽度的行:`fmt -w 80 example.txt` + +- **column**: + + - 常用选项:`-t`(使用表格格式输出)等。 + - 使用语法:`column [选项] [文件名]` + - 使用场景:将输入文本格式化为多列输出。 + - 使用示例: + - 将文件 `example.txt` 的内容按照表格格式输出:`column -t example.txt` + +- **sort** 和 **uniq**: + + - 请参考之前给出的解释和示例。 + +- **tr**: + + - 常用选项:`-d`(删除字符)、`-s`(压缩连续重复字符)等。 + - 使用语法:`tr [选项] 字符集1 字符集2` + - 使用场景:转换或删除字符,通常用于字符集转换。 + - 使用示例: + - 将文件 `example.txt` 中的所有小写字母转换为大写字母:`tr 'a-z' 'A-Z' < example.txt` + - 删除文件 `example.txt` 中的所有空格字符:`tr -d ' ' < example.txt` + +- **expand** 和 **unexpand**: + + - 常用选项:无 + - 使用语法:`expand [文件名]` 或 `unexpand [文件名]` + - 使用场景:将制表符转换为空格或将空格转换回制表符。 + - 使用示例: + - 将文件 `example.txt` 中的所有制表符转换为空格:`expand example.txt` + - 将文件 `example.txt` 中的所有空格转换回制表符:`unexpand example.txt` + +- **split**: + + - 常用选项:`-l`(指定每个输出文件的行数)、`-b`(指定每个输出文件的字节数)等。 + - 使用语法:`split [选项] 输入文件 [输出文件前缀]` + - 使用场景:将大文件分割成多个小文件。 + - 使用示例: + - 将文件 `largefile.txt` 每1000行分割成多个小文件:`split -l 1000 largefile.txt` + - 将文件 `largefile.txt` 每10MB分割成多个小文件:`split -b 10M largefile.txt` + +- **wc**: + + - 常用选项:`-c`(计算字节数)、`-w`(计算字数)、`-l`(计算行数)等。 + - 使用语法:`wc [选项] [文件名]` + - 使用场景:计算文件中的字节数、字数和行数。 + - 使用示例: + - 统计文件 `example.txt` 的字节数、字数和行数:`wc example.txt` + - 仅统计文件 `example.txt` 的行数:`wc -l example.txt` \ No newline at end of file -- Gitee