Linux--cut的学习【DOC精选】.docVIP

  • 3
  • 0
  • 约5.26千字
  • 约 12页
  • 2017-02-16 发布于江苏
  • 举报
Linux--cut的学习【DOC精选】

Linux--cut的学习 1.一两句话描述一下cut命令吧! cut的工作就是“剪”,具体的说就是在文件中负责剪切数据用的。 cut是以每一行为一个处理对象的,这种机制和sed是一样的。? 2 . cut一般以什么为依据呢? 也就是说,我怎么告诉cut我想定位到的剪切内容呢? cut 第一,字节(bytes),用选项-b 第二,字符(characters),用选项-c 第三,域(fields),用选项-f ? 3. 以“字节”定位,给个最简单的例子? ps命令时,会输出类似如下的内容: [rocrocket@rocrocket programming]$ who rocrocket :0 2009-01-08 11:07 rocrocket pts/0 2009-01-08 11:23 (:0.0) rocrocket pts/1 2009-01-08 14:15 (:0.0) ? 如果我们想提取每一行的第3个字节,就这样: [rocrocket@rocrocket programming]$ who|cut -b 3 c c c 看明白了吧,-b后面可以设定要提取哪一个字节,其实-b和3之间没有空格也是可以的,但推荐有空格:) ? 4. 如果“字节”定位中,我想提取第3,第4、第5和第8个字节,怎么办? -b3-5的写法,而且多个定位之间用逗号隔开就成了。看看例子吧: [rocrocket@rocrocket programming]$ who|cut -b 3-5,8 croe croe croe 但有一点要注意,cut命令如果使用了-b选项,那么执行此命令时,cut会先把-b后面所有的定位进行从小到大排序,然后再提取。可不能颠倒定位的顺序哦。这个例子就可以说明这个问题: [rocrocket@rocrocket programming]$ who|cut -b 8,3-5 croe croe croe ? 5. 还有哪些类似“3-5! [rocrocket@rocrocket programming]$ who rocrocket :0 2009-01-08 11:07 rocrocket pts/0 2009-01-08 11:23 (:0.0) rocrocket pts/1 2009-01-08 14:15 (:0.0) [rocrocket@rocrocket programming]$ who|cut -b -3 roc roc roc [rocrocket@rocrocket programming]$ who|cut -b 3- crocket :0 2009-01-08 11:07 crocket pts/0 2009-01-08 11:23 (:0.0) crocket pts/1 2009-01-08 14:15 (:0.0) 想必你也看到了,-3表示从第一个字节到第三个字节,而3-表示从第三个字节到行尾。如果你细心,你可以看到这两种情况下,都包括了第三个字节“c”。 如果我执行who|cut -b -3,3-,你觉得会如何呢?答案是输出整行,不会出现连续两个重叠的c的。看: [rocrocket@rocrocket programming]$ who|cut -b -3,3- rocrocket :0 2009-01-08 11:07 rocrocket pts/0 2009-01-08 11:23 (:0.0) rocrocket pts/1 2009-01-08 14:15 (:0.0) ? 6. 给个以字符为定位标志的最简单的例子吧! 3,第4,第5和第8个字符: [rocrocket@rocrocket programming]$ who|cut -c 3-5,8 croe croe croe 不过,看着怎么和-b没有什么区别啊?莫非-b和-c作用一样? 其实不然,看似相同,只是因为这个例子举的不好,who输出的都是单字节字符,所以用-b和-c没有区别,如果你提取中文,区别就看出来了,来,看看中文提取的情况: [rocrocket@rocrocket programming]$ cat cut_ch.txt 星期一 星期二 星期三 星期四 [rocrocket@rocrocket programming]$ cut -b 3 cut_ch.txt ? ? ? ? [rocrocket@rocrocket programming]$ cut -c 3 cut_ch.txt 一 二 三 四 看到了吧,

文档评论(0)

1亿VIP精品文档

相关文档