zoukankan      html  css  js  c++  java
  • Linux 命令之head, tail, tr, sort, uniq, grep

    head [filename]
    head -n 11 [filename]  -> First 11 lines  
    head -c 20 [filename]  -> First 20 characters 
    

    head默认为显示前10行。

    tail [filename]
    tail -n 11 [filename]  -> Last 11 lines  
    tail -c 20 [filename]  -> Last 20 characters  
    

    如果要显示文本的第10-22行可以使用:

    1 head -n22 | tail -n12                                                                     

    tr的用法为:

    $ tr [OPTION] SET1 [SET2]

    如果SET1 和 SET2都给出,而且OPTION不是-d,那么就是将第一个集合中的元素替换为第二个集合中的元素。

    $ tr a-z A-Z
    thegeekstuff
    THEGEEKSTUFF
    

    如果需要将空格替换为一个tab, 如果存在连续的空格,需要加-s选项,否则默认将每个空格都替换为一个tab:

    $ echo "This   is   for testing" | tr -s [:space:] '	'
    This	is	for	testing
    

    如果要删除某个元素,可以使用(如删除所有数字):

    $ echo "my username is 432234" | tr -d [:digit:]
    my username is

    如果需要删除除了数字以外的其他字符,可以使用-c选项:

    $ echo "my username is 432234" | tr -cd [:digit:]
    432234

    如果要将文件的所有行合并为一行,可以使用:

    $ tr -s '
    ' ' ' < file.txt

    sort有几个常用选项:

    -n  按数字排序

    -r  逆序

    -k m,n  按第m-n个field排序

    -t  改变文件的分隔符

    如要对一个以tab为分隔符的文本按第二个field进行排序,可以使用:

     $ sort -k2,2 -t $'	' phonebook 
     Doe, John    555-1234
     Fogarty, Suzie    555-2314
     Doe, Jane    555-3214
     Avery, Cory    555-4132
     Smith, Brett    555-4321

    这里用$' '表示tab

    命令uniq的几个常用选项为:

    -c 输出每行连续出现的次数

    -d 只输出连续出现的行,对于连续出现多次的行只会输出一次

    -D  和-d的不同点在于会完整的输出符合条件的行

    -u 只输出没有连续出现的行

    -i 比较时忽略大小写

    -w n 只比较前n个字符

    -f n 忽略比较前n个filed

    -s n 忽略比较前n个字符

    grep常用方法:

    如果在一个文件中查找一个字符串,可以用:

    grep "literal_string" filename

    如果在多个文件中查找指定字符串:

    grep "string" FILE_PATTERN

    -i选项忽略大小写

    在文件中查找多个字符串:

    grep "REGEX" filename

    -w选项用来只查找指定的WORD,而忽略WORD作为字串的情况

    -c 选项用来查看出现次数

    -v选项用来输出没有出现指定字符串的行

    -e 选项可以用来指定多个字符串:

    $ grep -v -e "a" -e "b" -e "c" test-file.txt
    

    -l(小写的L)选项用来输出含有指定字符串的文件名:

    $ grep -l this demo_*
    demo_file
    demo_file1

    另外,还有-A,-B,-C等选项。

  • 相关阅读:
    Go排序
    golang 二维切片
    leetcode 406. 根据身高重建队列
    golang实现二叉搜索树
    Golang之实现(链表)
    docker把web jar包制作成镜像
    Failed to start Docker Application Container
    前端 velocity(.vm)模板里写ajax出现解析异常
    idea常用快捷键
    ArrayList、Vector、LinkedList(jdk8)
  • 原文地址:https://www.cnblogs.com/Stomach-ache/p/4161169.html
Copyright © 2011-2022 走看看