linux 文件管理命令:wc输出文件中的行数、单词数、字节数\comm比较排序文件\join将两个文件中指定栏位内容相同的行连接起来\fmt编排文本文件\tr转换字符
主要选项如下:
命令 | 描述 |
---|---|
| 输出字节统计数。 |
| 输出换行符统计数 |
| 输出最长的行的长度 |
| 输出单词统计数。 |
显示文件 hello.c 中的单词数。
# wc -w hello.c
SSSS
20 hello.c
comm [选项]...文件 1 文件 2
如果不附带选项,程序会生成三列输出。第一列包含文件 1 特有的行,第二列包含文件 2 特有的行,而第三列包含两个文件共有的行。
命令 | 描述 |
---|---|
| 不输出文件 1 特有的行。 |
| 不输出文件 2 特有的行。 |
| 不输出两个文件共有的行。 |
| 检查输入是否被正确排序,即使所有输入行均成对。 |
| 不检查输入是否被正确排序。 |
| 依照 STR 分列 |
| 显示此帮助信息并退出。 |
| 显示版本信息并退出。 |
比较排序 FILE1 和 FILE2,共有部分不显示。
comm -3 FILE1 FILE2
SSSS
222
join [选项]文件 1 文件 2
针对每一对具有相同内容的输入行,整合为一行写到标准输出,默认的内容连接区块是由 第一个空白符代表的分界符号。当文件 1 或文件 2 都被指定为“-”时,程序将从标准输入读 取数据。
命令 | 描述 |
---|---|
| 文件编号的值可以是 1 或 2,分别对应文件 1 和文件 2。此选项用于根据指定文件编号输出不成对的行目。 |
| 将缺失的输入区块替换为指定字符。 |
| 比较时忽略大小写。 |
| 等于“-1 域-2 域”。 |
| 按照指定格式构造输出行。 |
| 使用指定字符作为输入和输出的分隔符。 |
| 类似-a 文件编号,但禁止组合输出行。 |
| 在文件 1 的此域组合。 |
| 在文件 2 的此域组合。 |
| 检查输入行是否正确排序,即使所有输入行均是成对的。 |
| 不检查输入是否正确排序。 |
| 将首行视作域的头部,直接输出而不对其进行匹配。 |
| 显示此帮助信息并退出。 |
| 显示版本信息并退出。 |
若指定的文件名为“-”,则 fmt 命令会从标准输入设备读取数据。
重新格式化文件中的每个段落并输出到标准输出。
选项“-宽度”是“--width=数字”的缩写。
长选项必须使用的参数对于短选项也是必须使用的。
命令 | 描述 |
---|---|
-c --crown-margin | 保持前两行的缩进。 |
-p,--prefix=字符串 | 只对以指定字符串开头的行重新格式化,将前缀重新附着到被重新格式化的行上。 |
-s,--split-only | 分割过长的行,但不自动补足。 |
-t,--tagged-paragraph | 缩进首行以使其不同于第二行。 |
-u,--uniform-spacing | 每两个单词间保留一个空格,每句之后保留两个空格。 |
-w,--width=宽度 | 最大行宽(默认为 75 列宽度)。 |
--help | 显示此帮助信息并退出。 |
--version | 显示版本信息并退出。 |
应用实例如下。
重新排版 hello.c 文件。
# fmt hello.c
/* hello.c - Canonical "Hello, World!" program */ #include <stdio.h>
int main(void) {
printf("Hello, Linux programming world!\n"); return 0;
}
从标准输入中替换、缩减和/或删除字符,并将结果写到标准输出。
命令 | 描述 |
---|---|
| 保持前两行的缩进。 |
| 只对以指定字符串开头的行重新格式化,将前缀重新附着到被重新格式化的行上。 |
| 分割过长的行,但不自动补足。 |
| 缩进首行以使其不同于第二行。 |
| 每两个单词间保留一个空格,每句之后保留两个空格。 |
| 最大行宽(默认为 75 列宽度)。 |
| 显示此帮助信息并退出。 |
| 显示版本信息并退出。 |
SET 是一组字符串,一般可按照字面含义理解。解析序列如下。
命令 | 描述 |
---|---|
| 八进制值为 NNN 的字符(1~3 个数位)。 |
| |
| 终端鸣响。 |
| 退格。 |
| 换页。 |
| 换行。 |
| 回车。 |
| 水平制表符。 |
| 垂直制表符。 |
| 从字符 1 到字符 2 的升序递增过程中经历的所有字符。 |
| 在 SET2 中适用,指定字符会被连续复制直到吻合设置 1 的长度。 |
| 对字符执行指定次数的复制,若次数以 0 开头则被视为八进制数。 |
| 所有的字母和数字。 |
| 所有的字母。 |
| 所有呈水平排列的空白字符。 |
| 所有的控制字符。 |
| 所有的数字。 |
| 所有的可打印字符,不包括空格。 |
| 所有的小写字母。 |
| 所有的可打印字符,包括空格。 |
| 所有的标点字符。 |
| 所有呈水平或垂直排列的空白字符。 |
| 所有的大写字母。 |
| 所有的十六进制数。 |
| 所有和指定字符相等的字符。 |
仅在 SET1 和 SET2 都给出,同时没有-d 选项的时候才会进行替换。仅在替换时才可能用到 -t 选项。如果需要,SET2 将被通过在末尾添加原来的末字符的方式补充到同 SET1 等长,SET2 中多余的字符将被省略。只有:lower:和:upper:以升序展开字符;在用于替换时的 SET2 中以成 对表示大小写转换。-s 作用于 SET1,既不替换也不删除,否则在替换或展开后使用 SET2 缩减。
将 hello.c 中的文字大小写进行转换。
# cat hello.c | tr a-x A-X
/* HELLO.C - CANONICAL "HELLO, WORLD!" PROGRAM */
#INCLUDE <STDIO.H>
INT MAIN(VOID)
{
PRINTF("HELLO, LINUX PROGRAMMING WORLD!\N");
RETURN 0;
}
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。