linux 简单文件的处理
1.tr 命令
tr 命令可以用来删除一段文本信息中的某些文字。或者将其进行转换。
使用方式
tr [option] .. SET1 [SET2]
常用的选项有
选项 | 说明 |
-d | 删除和set1匹配的字符,注意不是全词匹配也不是按字符顺序匹配 |
-s | 去除set1指定的再输入文本中连续并重复的字符 |
操作举例
echo 'hello word' | tr -d ' olh' e wrd echo 'hello' | tr -s 'l' helo echo 'hello' | tr '[a-z]' '[A-Z]' HELLO
2.col 命令
col 命令可以将Tab换成对等数量的空格键,或反转这个操作
使用方式
col [option]
常用的选项有
选项 | 说明 |
-x | 将tab转换为空格 |
-h | 将空格转换成tab(默认) |
操作举例
cat -A /etc/protocols | tail -n 5 manet^I138 ... [RFC5498]$ .. .. ROHC^i142 ... Compression$ cat /etc/protocols |col -x | cat -A | tail -n 5 manet 138 ... [RFC5498]$ .. .. ROHC 142 ... Compression$
3.join 命令
join命令用于将两个文件包含相同内容的哪一行合并在一起
使用方式
join [option] ... file1 file2
常用的选项
选项 | 说明 |
-t | 指定分隔符,默认为空格 |
-i | 忽略大小写的差异 |
-1 | 指明第一个文件要用那个字段来对比,默认对比第一个字段 |
-2 | 指明第二个文件要用那个字段来对比,默认对比第一个字段 |
操作举例
sudo head -n 2 /etc/passwd /etc/shadow ==>/etc/passwd<== root:x:0:root:/root/:bin/bash daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin ==>/etc/shadow<== root:*:16330:0:9999:7::: daemon:*:16330:0:99999:7::: sudo join -t ':' /etc/passwd /etc/shadow | head -n 2 root:x:0:root:/root/:bin/bash:*:16330:0:9999:7::: daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin:*:16330:0:99999:7:::
4.paste命令
paste 这个命了与join命令类似,它是再不对比数据的情况下,简单的将多个文件合并一起,以tab隔开
使用方式
paste [option] file ...
常用的选项用
选项 | 说明 |
-d | 指定合并的分隔符,默认为tab |
-s | 不合并到一行,每个文件为一行 |
操作举例
echo hello > file1 echo testfile > file2 echo testfile.com > file3 paste -d ':' file1 file2 file3 hello:testfile:testfile.com paste -s file* hello testfile testfile.com