现在的位置: 首页 > 综合 > 正文

linux 命令摘录

2018年01月24日 ⁄ 综合 ⁄ 共 1292字 ⁄ 字号 评论关闭

记录一些比较易忘linux命令

cut

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

命令用法:

   cut -b list [-n]

   cut -c list

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

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 缩减。


抱歉!评论已关闭.