Linux 文本处理命令
tr
tr 命令可以用来删除一段文本信息中的某些文字或者将其进行转换。
删除存在于SET1的字符
echo "hello world" | tr -d "lod"
# "he wr"
-d 删除和SET1中的字符匹配的所有字符
删除与SET2匹配的连续并重复的字符
echo "hello" | tr -s "l"
# "helo"
-s 去除SET2指定的在输入文本中连续并重复的字符
全部转换为大写或小写输出
echo "hello" | tr '[:lower:]'
echo "hello" | tr '[:upper:]'
col
选项 说明
-x 将Tab转换为空格
-h 将空格转换为Tab(默认选项)
# 查看 /etc/protocols 中的不可见字符,可以看到很多 ^I ,这其实就是 Tab 转义成可见字符的符号 -A 表示输出所有内容
cat -A /etc/protocols
# 使用 col -x 将 /etc/protocols 中的 Tab 转换为空格,然后再使用 cat 查看,你发现 ^I 不见了
cat /etc/protocols | col -x | cat -A
join
这个命令就是用于将两个文件中包含相同内容的那一行合并在一起
echo "1 lins" > file1.txt
echo "1 me" > file2.txt
join file1.txt file2.txt
# "1 lins me"
paste
paste这个命令与join 命令类似,它是在不对比数据的情况下,简单地将多个文件合并一起,以Tab隔开
-d 指定合并的分隔符
-s 每个文件一行