剪切命令用于文本处理。此命令可用于通过选择列从文件中提取部分文本。剪切命令的选项Cut基本语法:cutOPTION...[FILE]...选项:-f:通过指定哪个字段来提取。cut命令使用“TAB”作为默认的字段分隔符。-d:"TAB"是默认的分隔符,使用此选项可以更改为其他分隔符。--complement:此选项用于排除指定的字段。--output-delimiter:更改输出内容的分隔符。如何拆分切割的最常见选项是-d和-f的组合。它基本上是根据特定的分隔符和列出的字段来提取内容。下面的代码仅使用定界符:打印/etc/passwd文件中每一行的第一个字段。[root@localhost~]#cut-d':'-f1/etc/passwdrootbindaemonadmlpsyncshutdown...下面的代码从/etc/passwd文件中提取第一个和第六个字段:[root@localhost~]#grep'/bin/bash'/etc/passwd|cut-d':'-f1,6root:/rootbob:/home/bobuser01:/home/user01显示字段范围,指定开始和结束字段以-分隔,如下:[root@localhost~]#grep'/bin/bash'/etc/passwd|cut-d':'-f1-4,6,7root0:0:/root:/bin/bashbob1000:1001:/home/bob:/bin/bashuser011001:1002:/home/user01:/bin/bashExcludespecifiedfields在下面的代码中,除了/etc/passwd文件中的第二个字段之外的所有字段都被打印出来:[root@localhost~]#grep'/bin/bash'/etc/passwd|cut-d':'--complement-f2root:0:0:root:/root:/bin/bashbob:1000:1001::/home/bob:/bin/bashuser01:1001:1002::/home/user01:/bin/bash如何指定输出定界符要指定输出定界符,请使用--output-delimiter选项。输入定界符由-d选项指定,默认情况下输出定界符与输入定界符相同。先看看不使用--output-delimiter选项的样子:[root@localhost~]#cut-d':'-f1,7/etc/passwd|sortadm:/sbin/nologinavahi:/sbin/nologinbin:/sbin/nologinbob:/bin/bashchrony:/sbin/nologindaemon:/sbin/nologindbus:/sbin/nologinftp:/sbin/nologingames:/sbin/nologingrafana:/sbin/nologinhalt:/sbin/haltlp:/sbin/nologinmail:/sbin/nologinnfsnobody:/sbin/nologinnobody:/sbin/nologinntp:/sbin/nologinoperator:/sbin/nologin...现在使用--output-delimiter选项,输出分隔符用''空格隔开,看什么它看起来像:[root@localhost~]#cut-d':'-f1,7--output-delimiter=''/etc/passwd|sortadm/sbin/nologinavahi/sbin/nologinbin/sbin/nologinbob/bin/bashchrony/sbin/nologindaemon/sbin/nologindbus/sbin/nologinftp/sbin/nologingames/sbin/nologinrafana/sbin/nologinhalt/sbin/haltlp/sbin/nologinmail/sbin/nologinnfsnobody/sbin/nologinnobody/sbin/nologinntp/sbin/nologinoperator/sbin/nologin总结cut命令的一个限制是它不支持指定多个字符作为分隔符。多个空格被视为多个字段分隔符,必须使用tr命令来获得所需的输出。
