Is it possible to use a string as a delimiter in unix cut command?

对着背影说爱祢 提交于 2019-12-03 05:05:34

When I read man for cut it states ... delim can be a multi-byte character.

Multi-byte, but just one character, not a string.

canti:~$ ll | cut --delimiter="delim" -f 1,2
cut: the delimiter must be a single character
Try `cut --help' for more information.

canti:~$ cut --version  
cut (GNU coreutils) 5.97

You can specify only output delimiter as a string (useless in this case):

 --output-delimiter=STRING                                                          
        use STRING as the output delimiter the default is to use the input delimiter

Try using this.

$grep abc.pl * | awk -F 'abc.pl' '{print $2}'

-F fs --field-separator fs Use fs for the input field separator (the value of the FS predefined variable).

why not use grep abc.pl | awk '{print $3, $4}'?

$ grep abc.pl * | cut -d' ' -f3-999

In that case just use the space character as the delimiter.

Or you can try eg Ruby:

grep abc.pl * | ruby -ne 'p $_.chomp.split("abc.pl").last'
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!