一、利用xargs -I进行文件(只有一列)转置(列变行)
cat inputfile | xargs -I {} printf {}" "
#是将读取到的一行作为一个参数传递给后边的命令
二、删除当前目录下不包含关键词的文件
#如当前目录下有许多文件及文件夹,但有个含有.json的文件,我不想删除,只想删除不包含*.json的文件及文件夹
ls -I *.json #只列出不包含.json的文件及文件夹,注意I参数的使用
ls -I *.json | xargs -I {} rm -rf {}
三、对于匹配到关键词的前后行的操作
##打印出匹配到关键词的前一行和后一行
#sed
#We have a input file:
<< Flag
123343242
AAAAAAAA
343243243
BBBBBBBB
139883857
CCCCCCCC
395783749
DDDDDDDD
Flag
sed -n '/BB/{n;p}' input#打印出匹配到BB的下一行
#139883857
sed -n '/BB/{n;n;p}' input#打印出匹配到BB的下下一行
#CCCCCCCC
sed -n -e '/BB/{n;p;n;p}' input#匹配到BB,打印下两行
#139883857
#CCCCCCCC
sed -n '/BB/{g;1!p;};h' input#匹配到BB,打印上一行
#343243243
#grep
grep -A1 'BB' input #-A after,下一行
#BBBBBBBB
#139883857
grep -B1 'BB' input #-B before,上一行
#343243243
#BBBBBBBB
grep -C1 'BB' input#-C上下行,当然其中的数字可以换成2,3,。。。
#343243243
#BBBBBBBB
#139883857
四、vi编辑文件时空格和tab的替换
在.vimrc中添加以下代码后,重启vim即可实现按TAB产生4个空格:
set ts=4 (注:ts是tabstop的缩写,设TAB宽4个空格)
set expandtab
对于已保存的文件,可以使用下面的方法进行空格和TAB的替换:
TAB替换为空格:
:set ts=4
:set expandtab
:%retab!
空格替换为TAB:
:set ts=4
:set noexpandtab
:%retab!
五、查找空文件
find . -name "*".txt -type f -size 0c