linux 命令摘录

记录一些比较易忘linux命令


cut

从一个文本文件或者文本流中提取文本列。

命令用法:

   cut -b list [-n] [file ...]

   cut -c list [file ...]

   cut -f list [-d delim][-s][file ...]

l    上面的-b、-c、-f分别表示字节、字符、字段(即byte、character、field);

l    list表示-b、-c、-f操作范围,-n常常表示具体数字;

l    file表示的自然是要操作的文本文件的名称;

l    delim(英文全写:delimiter)表示分隔符,默认情况下为TAB;

l    -s表示去掉那些不含指定分隔符的行(这样有利于去掉注释和标题)

|    --output-delimiter=字符串 使用指定的字符串作为输出分界符,默认采用输入的分界符


N 只有第N项

N- 从第N项一直到行尾

N-M 从第N项到第M项(包括M)

-M 从一行的开始到第M项(包括M)

典型用法

cut -c3 filename  

cut -c3- filename

cut -b3,5 filename

... 其中 -c表示字符 一个中文汉字可以是一个字符,但不会只有一个字节. 另外 列数从1开始计数

cut -f3- filename

cut -d\| -f1 filename

cut -d: -f1 /etc/passwd

cut -d: -f2,5-7 /etc/passwd

cut -d' ' -f1-3 /etc/passwd

cut在处理连续空格时不够智能,需要借助其它工具完成

tr

命令用法:tr [选项]... SET1 [SET2]

从标准输入中替换、缩减和/或删除字符,并将结果写到标准输出。


  -c, -C, --complement          首先补足SET1

  -d, --delete                  删除匹配SET1 的内容,并不作替换

  -s, --squeeze-repeats 如果匹配于SET1 的字符在输入序列中存在连续的

                                  重复,在替换时会被统一缩为一个字符的长度

  -t, --truncate-set1           先将SET1 的长度截为和SET2 相等


典型用法

tr 'abc' 'xyz'   对应 a->x b->y  c->z

tr [a-z] [A-Z]  或者  tr '[[:lower:]]' '[[:upper:]]'

tr -d 'aij\t'  删除字符 a, i, j和制表符

tr -s [a-zA-Z]  删除连续重复字母

tr-s ' '  删除连续重复的空格只保留一个[,然后可以给cut处理]

tr -s '\n'  删除空行

tr -s "\r" "\n"  去掉windows格式行尾^M, 即用换行符\n换掉回车符\r


另外 tr 支持 \oct 三位八进制写法

仅在SET1 和SET2 都给出,同时没有-d 选项的时候才会进行替换。
仅在替换时才可能用到-t 选项。如果需要SET2 将被通过在末尾添加原来的末字符的方式
补充到同SET1 等长。SET2 中多余的字符将被省略。只有[:lower:] 和[:upper:]
以升序展开字符;在用于替换时的SET2 中以成对表示大小写转换。-s 作用于SET1,既不
替换也不删除,否则在替换或展开后使用SET2 缩减。



  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值