Linux操作命令(七) 1.cut命令 2.paste命令 3.tr命令
1、cut 命令
剪切/分割,拆分文件列
常用参数
参数 | 描述 |
---|---|
-b | 以字节为单位进行分割 |
-c | 以字符为单位进行分割 |
-d | 自定义分隔符,默认为制表符 |
-f | 自定义字段 |
--complement | 抽取整个文本行,除了那些由 -c 或 -f 选项指定的文本 |
取出student.txt
文件中的第一列和第三列:cut -f 1,3 -d ' ' student.txt
取出student.txt
文件中的第一列:cut -f 1 -d ' ' student.txt
取出student.txt
文件中的前三列:cut -f 1-3 -d ' ' student.txt
取出student.txt
文件中除第一列的其他列:cut -f 1 -d ' ' student.txt --complement
2、paste 命令
把多个不同的文件内容粘贴在一起,形成新的文件(合并文件的列)
paste命令的功能正好与 cut 相反。它会添加一个或多个文本列到文件中,而不是从文件中抽取文本列。它通过读取多个文件,然后把每个文件中的字段整合成单个文本流,输入到标准输出
参数 | 描述 |
---|---|
-s | 将每个文件合并成行而不是按行粘贴 |
-d | 自定义分隔符,默认为制表符 |
将student.txt
和telphone.txt
文件中的内容按列拼接:paste student.txt telphone.txt
将student.txt
和telphone.txt
文件中的内容按列拼接,指定分隔符为:paste student.txt telphone.txt -d :
将student.txt
和telphone.txt
文件中的内容各自拼接成一行:paste -s student.txt telphone.txt
3、tr命令
字符转换、替换和删除,主要用于删除文件中的控制符或进行字符串转换等
tr 命令常被用来更改字符,我们可以把它看作是一种基于字符的查找和替换操作。换字是一种把字符从一个字母转换为另一个字母的过程,tr 可以从标准输入中替换、缩减和删除字符,并将结果写到标准输出
将telphone.txt中字符大写转换为小写:cat telphone.txt | tr 'A-Z' 'a-z'
将输入的字符大写转换为小写:echo 'THIS IS SHIYANLOU!' | tr 'A-Z' 'a-z'
将输入的字符中的数字删除:echo 'THIS 123 IS S1HIY5ANLOU!' | tr -d '0-9'
- 1. tr '源字符集' '目标字符集':将源字符集中的字符替换为目标字符集中的字符。
- 2. tr -d '要删除的字符':删除指定字符。
- 3. tr -s '要替换的字符':将连续出现的要替换的字符压缩成一个。
- 4. tr -c '字符集':将不在字符集中的字符删除。
- 5. tr [:upper:] [:lower:]:将大写字母转换为小写字母。
- 6. tr [:lower:] [:upper:]:将小写字母转换为大写字母。
- 7. tr -t '源字符集' '目标字符集':将源字符集中的字符替换为目标字符集中的字符,同时压缩连续出现的目标字符。
- 8. tr -C '字符集':将在字符集中的字符删除。
- 假设有一个文件file.txt,
- 内容如下: hello world goodbye world
- 使用tr -d删除其中的字母o,命令如下: tr -d 'o' < file.txt
- 输出结果为: hell wrld gdbye wrld 可以看到,所有的字母o都被删除了