linux命令积累

1.搜索字符在文件中枢输出行号

#grep  -n 要搜索的字符(字符如含有特殊字符,有加引号,否则不用) filname

grep   -n 'hello'  1.txt  

 

2. 查看文件具体行号的内容

# sed -n '行号,行号p' filename

sed  -n  '12,12p'  filname

   注意:如果两个行号不一样,则是第一个行号到第二个行号之间的内容

 

3.合并文件

# cat filename1 filename2 》filaneme
 cat filename1 filename2 》filaneme

  >>是追加 >是新建或者清空文件写入

 

4.切割文件

  1.按行数切分


split -l 10 -d -a 3 info.txt prefix_ # -l把每个文件切成10行文件,文件的后缀000这是-d的效果,用数子后缀,-a 3是后缀3个,如果-a 4 后缀就变成了0000,info.txt 是文件名,prefix_ 是文件前缀

  2. 按大小切分

split -b 1k info.txt  1_

# 1_ 是前缀,可每个文件是1kb,单位也可是b,mb等

  3.按大小切分,但不是完全均分的

split -C 1k info.txt

#这样切分会先遵循1kb原则,然后有的切出来的文件有的大于1k有的小于1k,均值在1k左右,但是保持了文件每行的完整性,不会出现某行的一部分在一个文件,另一部分在另一个文件

 

5.查看相应字符所在行及上下几行的内容

$grep -5 ‘parttern’ inputfile //打印匹配行的前后5行

$grep -C 5 ‘parttern’ inputfile //打印匹配行的前后5行

$grep -A 5 ‘parttern’ inputfile //打印匹配行的后5行

$grep -B 5 ‘parttern’ inputfile //打印匹配行的前5行

  或者

$cat filename | grep -5 ‘parttern’  //打印匹配行的前后5行

$cat filename | grep -C 5 ‘parttern’ //打印匹配行的前后5行

$cat filename | grep -A 5 ‘parttern’ //打印匹配行的后5行

$ cat filename | grep -B 5 ‘parttern’ //打印匹配行的前5行

 

6.在python中使用了进程池,中途想要杀掉进程池中的所有进程,不想一个个操作就可以一次杀掉

#杀死含有python的所有进程
kill -9 $(ps -ef|grep python|grep -v grep |awk '{print $2}') #杀死含有start.py的所有进程
kill
-9 $(ps -ef|grep start.py|grep -v grep |awk '{print $2}')

#
ps aux|grep python|grep -v grep|cut -c 9-15

#
ps -ef | grep python | grep -v grep | awk '{print $2}' | xargs kill -9

  注:(以上任意一个组合都可以,看自己习惯)

    1.   "grep -v grep" 是在列出的进程中去除含有关键字"grep"的进程。

    2.   “ cut -c 9-15”是截取输入行的第9个字符到第15个字符,而这正好是进程号PID。

    3.    “xargs kill -15”中的xargs命令是用来把前面命令的输出结果(PID)作为“kill -15”命令的参数,并执行该令。

    4.    “kill -15”会正常退出指定进程,-9强行杀掉

 

7.  大文件分卷分割

# 方法一  先分割在分别压缩

split -l 1000 -d -a 2 xxxx

tar -zcvf xxx.tar.gz xxxx01


#方法二 先压缩再分割
#第二个是切割后文件的前缀
tar -zcvf xxxx.tar.gz tets.text

split -b 1000m -d  -a 2 xxx.tar.gz    xxx.tar.gz.

 

posted @ 2020-04-21 23:05  阿布_alone  阅读(202)  评论(0编辑  收藏  举报
TOP