如何从以下文件名中分别检索每个部分?DSA4020_frontcover_20346501_2011-05.doc
我想检索如下信息;
名称= DSA4020
type = frontcover
id = 20346501
date = 2011-05
可以用sed吗?
是的你可以:
pax$ echo 'DSA4020_frontcover_20346501_2011-05.doc' | sed
-e 's/^/name=/'
-e 's/_/\ntype=/'
-e 's/_/\nid=/'
-e 's/_/\ndate=/'
-e 's/\..*//'
name=DSA4020
type=frontcover
id=20346501
date=2011-05
Run Code Online (Sandbox Code Playgroud)
这一切都在一条线上,为了便于阅读,我将其拆分.
awk如果你愿意,你也可以这样做:
pax$ echo 'DSA4020_frontcover_20346501_2011-05.doc'
| awk -F_ '{print "name="$1"\ntype="$2"\nid="$3"\ndate="substr($4,1,7)}'
name=DSA4020
type=frontcover
id=20346501
date=2011-05
Run Code Online (Sandbox Code Playgroud)