zoukankan      html  css  js  c++  java
  • linux cut的用法

    问题:

    路径名为 /home/ lxy/ hhhhh-a.bbb.cc.d (格式类型固定)

    其中 现在我只想要 a.bbb.cc 这一段。

    其中 hhhhh- 格式固定 ,a.bbb.cc.d 这一段长度有浮动,但前面的 a. 和后面的 .d 是固定的

    解决方法:

    1.如果/home/ lxy/ hhhhh-a.bbb.cc.d是文件中的字符串(即echo '/home/ lxy/ hhhhh-a.bbb.cc.d'>test.txt ),可以通过sed -n 's/.*hhhhh-(.*).d/1/p' test.txt

    2.以'-'为分隔符,用cut取第二个字段(只要路径中不包含'-'即可):echo "/home/lxy/hhhhh-a.bbb.cc.d" | cut -d'-' -f2  但该方法只能取出a.bbb.cc.d

    3.为防止路径中有'-',可以先取出文件名,在使用cut:echo "/home/lxy/hhhhh-a.bbb.cc.d" | awk -F/ '{print $NF}'| cut -d'-' -f2 但该方法只能取出a.bbb.cc.d

    4.echo "/home/lxy/hhhhh-a.bbb.cc.d" | awk -F'-' '{print $2}' | cut -f 1-3 -d'.'

     

    cut用法:

    cut 选项 字符串/文件

    选项:

    • -d:指定字段的分隔符,默认的字段分隔符为“TAB”;
    • -f:显示指定字段的内容;
    • -b:仅显示行中指定字节范围的内容;
    • -c:仅显示行中指定字符范围的内容;
    • -n:与“-b”选项连用,不分割多字节字符;
    • -s:不打印不包含分割符的行
    • --complement:显示指定字段以外的字段
    • --out-delimiter=<字段分隔符>:指定输出内容的字段分割符;默认输出内容的分隔符是输入的分隔符,但使用该参数指定后,可以修改输出内容的分隔符

    指定范围的参数意义:

    • N-:从第N个字节、字符、字段到结尾;
    • N-M:从第N个字节、字符、字段到第M个(包括M在内)字节、字符、字段;
    • -M:从第1个字节、字符、字段到第M个(包括M在内)字节、字符、字段。

    举栗:

    知识点命令输出
    使用-d指定字段分隔符,使用-f获取指定字段 echo "/home/lxy/hhhhh-a.bbb.cc.d" |awk -F/ '{print $NF}'| cut -d'.' -f2  bbb
    echo "/home/lxy/hhhhh-a.bbb.cc.d" | awk -F/ '{print $NF}'|cut -d'.' -f1,2  hhhhh-a.bbb

    echo "/home/lxy/hhhhh-a.bbb.cc.d" | awk -F/ '{print $NF}'|cut -d'.' -f1,2,3

    或echo "/home/lxy/hhhhh-a.bbb.cc.d" | awk -F/ '{print $NF}'|cut -d'.' -f1-3

    hhhhh-a.bbb.cc
    使用--complement参数提取指定字段以外的字段

    echo "/home/lxy/hhhhh-a.bbb.cc.d" | awk -F/ '{print $NF}'|cut -d'.' -f1-3 --complement

     d
    使用-c参数获取指定字符范围内的内容

    echo "/home/lxy/hhhhh-a.bbb.cc.d" | awk -F/ '{print $NF}'|cut -c5-

    h-a.bbb.cc.d
    -s:不打印不包含分割符的行

    cat aa.txt

    aadbdg_arv

    aavf

    nrra_rr+rr_ee

    cut -s -d'_' -f1- aa.txt 

    aadbdg_arv

    nrra_rr+rr_ee

    --out-delimiter=<字段分隔符>:指定输出内容的字段分割符

    echo "/home/lxy/hhhhh-a.bbb.cc.d" | awk -F/ '{print $NF}'|cut -d'.' --output-delimiter=* -f1-3

    hhhhh-a*bbb*cc
  • 相关阅读:
    面试题目1:spring和springmvc的区别与联系
    Vue---第二十三章v-on事件处理
    Vue---第二十二章v-for循环
    Vue-接口返回的值在页面上显示
    Vue---第二十一章v-if
    Vue---第二十章class和style,v-bind
    Vue---第十九章计算属性和监听器
    Vue---第十八章元素绑定v-bind,v-on
    Vue---第十七章v-once
    Vue---第十六章devtools
  • 原文地址:https://www.cnblogs.com/mianbaoshu/p/10948593.html
Copyright © 2011-2022 走看看