linux 字符转换命令(tr,col,expand,join,paste)

vim 中可通过dos2UNIX与UNIX2dos来完成DOS断行字符与UNIX断行字符的转换。

1. tr

用来删除一段信息中的文字,或者进行文字替换。

# 将文件中的‘#’ 删除
cat aa.txt | tr -d '#'

# 在文件aa.txt 中将set1中的所有字符全部删除
cat aa.txt | tr -d set1

# 将小写字母转换成大写
cat aa.txt | tr '[a-z]' '[A-Z]'

# 去除dos文件保留下来的断行符 ^M,(将行尾的^M --> \r)
cat aa.txt | tr -s '^M' '\r'

2. col

将tab 键转换成对等的空格

-h, --tabs             convert spaces to tabs
-x, --spaces           convert tabs to spaces

cat aa.txt | col -x >aa.txt.new

3. expand 

将tab键转成空格键 (unexpand 将空格键转成tab键 )

-t  后面接数字,指定一个tab键换成多少个空格,默认8个
expand aa.txt >aa.txt.new

4. join

将两个文件当中有相同数据的那一行加在一起。

常用参数:

-t  : 以“第一个字段”为键,将两个文件键相同的数据连成一行,且键放在第一个位置,默认以空格作为分隔符。
-i  : 忽略大小写
-1  : 表示第1个文件要以哪个字段作键
-2  : 表示第2个文件要以哪个字段作键

以aa.txt的第二个字段为键,以bb.txt的第三个字段为键,将两个文件进行拼接:

join -1 2 aa.txt -2 3 bb.txt 

注意: 在使用join 前,对待处理的文件要先进行排序sort,否则有些对比的项目会被略过。

5. paste

直接将两个文件中的行拼在一起,且默认以tab键隔开。

-d 指定分隔符
paste -d ':' aa.txt bb.txt

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值