zoukankan      html  css  js  c++  java
  • linnux-shell知识

    awk 是单行处理文本

    正则: cat test.py | awk '/a/ {print $1}'  # 如果test.py中存在a这个字母,就打印所在行的第一列(注意是该列,不是该词)。匹配成功,就 {执行操作}

    ex: {print $0} 打印整行  =  {print}

    其它awk命令用法:awk '{print}' ./test.py

    处理所有数据的第n列

    两个awk同时使用 :

    先打印所有的用户信息(passwd文件),在正则匹配root用户,(匹配到就打印所有信息)

     指定以冒号:分割(默认以空格分隔成列):

    也阔以指定字符跟个 awk -F'string' '{print $1}' ./test1.txt

     awk  -F':' 'BEGIN{print "begin"}'  {print $1} 'END{print "end"}'  ./test1.txt

    在{print $1}执行前后分别 打印begin,end

     awk跳行读取:

    先是找到first所在行,再跳过这一行(打印除了包含first所在行)

     显示行号和列数:awk -F:  '{print "第"RN"行:" "该行共"NF"列—" $0}' ./test1.txt

    -F 以: 将test1.txt 分割成两列

    NF和RN都是数字  ,也可以 '{print $NF}' 打印第NF列,NF表示共有n列数据,也就是打印第n列(最后一列)数据,

    打印倒数第二列: '{print $(NF-1)}'

     ######################################

    grep实在文件里面搜索目标

    grep参数

    -i                忽略大小写   
    -n               显示行号
    -s               不显示错误信息    
    -v               反向查找
    -q               不现实任何信息(shell中会用)

    if   fi

    if常用的选项:

    -a file            如果文件存在则为真
    -d file            如果文件存在并且是目录则为真
    -n string        如果字符长度非0则为真
    -ne                等于
    -lt                 不等于
    .......

    shell脚本中 单引号 双引号 反引号

    echo '$SHELL'             单引号会将$转译成不同字符 
    >>> $SHELL
      
    echo "$SHELL"            双引号会保留$, 代表的意义
    >>> /bin/bash

    反引号 用来申明是命令 ex: `pwd`
              也可以: $(pwd)

    $是用来调用变量

    $? 是查看命令执行的状态,成功返回0,失败返回1

  • 相关阅读:
    POJ 2018 二分
    873. Length of Longest Fibonacci Subsequence
    847. Shortest Path Visiting All Nodes
    838. Push Dominoes
    813. Largest Sum of Averages
    801. Minimum Swaps To Make Sequences Increasing
    790. Domino and Tromino Tiling
    764. Largest Plus Sign
    Weekly Contest 128
    746. Min Cost Climbing Stairs
  • 原文地址:https://www.cnblogs.com/tangpg/p/9237951.html
Copyright © 2011-2022 走看看