linux常用命令(七)简单的文本处理

本文介绍Linux下使用tr、cat、col、join及paste等命令进行文本处理的方法,包括字符删除、转换、文件合并等实用技巧。

1.tr -d  删除匹配字符(不是全词或按字符顺序匹配)

echo 'hello shiyanlou' | tr -d 'olh'

2.tr -s  去除连续并重复的字符

echo 'hello shiyanlou' | tr -s 'l'

3.tr '[:lower:]' '[:upper:]' /   tr '[a-z]' '[A-Z]'  将文本转化为大写输出

echo 'input some text here' | tr '[:lower:]' '[:upper:]'

4.tr '[:upper:]' '[:lower:]' /  tr '[A-Z]' '[a-z]'  将文本转化为小写输出

echo 'SHIYANLOU' | tr '[A-Z]' '[a-z]'

5.cat -A /etc/protocols  查看不可见字符

6.col -x  将Tab转换为空格

col -h  将空格转换为Tab

cat /etc/protocols | col -x | cat -A  

7.join  将两个文件包含相同内容的那一行合并在一起

echo '1 hello' > file1

echo '1 shiyanlou' > file2

join file1 file2  

参数:-t指定分隔符;-i忽略大小写;-1指明第一个文件要用哪个字段来对比,默认第一个;-2指明第二个文件要用哪个字段来对比,默认第一个

sudo join -t':' -1 4 /etc/passwd -2 3 /etc/shadow  将/etc/passwd与/etc/group两个文件合并,指定以':'作为分隔符, 分别比对第4和第3个字段

8.paste  在不对比数据的情况下,将文件合并到一起

echo hello > file1

echo shiyanlou > file2

echo www.shiyanlou.com > file3

paste -d ':' file1 file2 file3  指定分隔符,默认是Tab

paste -s file1 file2 file3  不合并到一行,每个文件一行

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值