cut的问题

sh/bash/dash/ksh/zsh等Shell脚本
回复
头像
yjcong
帖子: 2470
注册时间: 2006-02-28 3:11

cut的问题

#1

帖子 yjcong » 2011-10-07 15:46

有一组东西, 如下

ajnfjr23sgjfr
akfv-ejffe23
akjnf-ngnrt34er
ker-ejf3-245

想用cut得到如下结果,
ajnfjr
akfv-ejffe
akjnf-ngnrt
ker-ejf

就是以第一个数字为delimiter, 该怎么写-d的参数??

3Q
一梦三年,
松风依旧,
萝月何曾老.


灵幽听微, 谁观玉颜?
灼灼春华, 绿叶含丹.
头像
lilydjwg
论坛版主
帖子: 4258
注册时间: 2009-04-11 23:46
系统: Arch Linux
联系:

Re: cut的问题

#2

帖子 lilydjwg » 2011-10-07 16:22

代码: 全选

grep -oP '^\D+'
头像
yjcong
帖子: 2470
注册时间: 2006-02-28 3:11

Re: cut的问题

#3

帖子 yjcong » 2011-10-07 16:26

谢谢.

但是用cut就不能实现吗??
一梦三年,
松风依旧,
萝月何曾老.


灵幽听微, 谁观玉颜?
灼灼春华, 绿叶含丹.
头像
Methuselar
帖子: 122
注册时间: 2009-06-04 12:06
联系:

Re: cut的问题

#4

帖子 Methuselar » 2011-10-12 9:51

yjcong 写了:谢谢.

但是用cut就不能实现吗??
cut 没法用正则做分割,做起来麻烦得多. grep sed awk 这些就方便了.
做还是能做,不同程度的依赖shell和其他coreutils而已

代码: 全选

for line in `cat test.txt | xargs`; do for i in `seq -s' ' 0 9`; do echo $line  | cut -d$i -f1; done | sort | head -1; done
此外,现代化的shell本身就支持正则, 所以也是多解
自虐啊...还不能有空格.
Mea Culpa!
头像
eexpress
帖子: 58428
注册时间: 2005-08-14 21:55
来自: 长沙

Re: cut的问题

#5

帖子 eexpress » 2011-10-12 10:06

seq -s' ' 0 9
这谁写的。画蛇添足吧。
● 鸣学
头像
Methuselar
帖子: 122
注册时间: 2009-06-04 12:06
联系:

Re: cut的问题

#6

帖子 Methuselar » 2011-10-12 10:24

eexpress 写了:seq -s' ' 0 9
这谁写的。画蛇添足吧。
保险为好,手头没bash
Mea Culpa!
回复