亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

Chinaunix

標題: shell提取指定文件中指定的字符串 [打印本頁]

作者: zw86620032    時間: 2016-03-14 17:23
標題: shell提取指定文件中指定的字符串
比如一個叫做name的文件,其中有一個內(nèi)容是:
meta_dev = /dev/sdc,我想要提取/dev/sdc并賦給一個變量a
還有一個
osd data = /Ceph/Data/Osd/osd-0,我要提取/Ceph/Data/Osd/osd-0也付給一個變量b
還有一個
mon data = /Ceph/Data/Mon/mon.$id要提取/Ceph/Data/Mon并賦給一個變量c
請問該如何寫?謝謝
作者: elu_ligao    時間: 2016-03-14 17:30
  1. a=$(grep -Po '(?<=meta_dev = ).*' name)
  2. b=$(grep -Po '(?<=osd data = ).*' name)
  3. c=$(grep -Po '(?<=mon data = ).*' name)
復(fù)制代碼

作者: zw86620032    時間: 2016-03-14 17:36
回復(fù) 2# elu_ligao


    非常感謝,前倆個都沒問題,可事第三個我該如何只提取到/Ceph/Data/Mon,而不要后面呢?
作者: moperyblue    時間: 2016-03-14 18:25
  1. eval $(echo 'meta_dev = /dev/sdc
  2. osd data = /Ceph/Data/Osd/osd-0
  3. mon data = /Ceph/Data/Mon/mon.$id'|sed 's/.* = *//;/\$/s#/[^/]*$##'|xargs|awk '{print "a="$1,"b="$2,"c="$3}')

  4. echo "$a $b $c"
  5. /dev/sdc /Ceph/Data/Osd/osd-0 /Ceph/Data/Mon
復(fù)制代碼

作者: elu_ligao    時間: 2016-03-15 08:39
本帖最后由 elu_ligao 于 2016-03-15 08:40 編輯

回復(fù) 3# zw86620032
  1. c=$(grep -Po '(?<=mon data = ).*' name)
  2. c=${c%/*}
復(fù)制代碼

作者: zw86620032    時間: 2016-03-15 10:42
回復(fù) 5# elu_ligao


    謝謝,問題解決啦。




歡迎光臨 Chinaunix (http://www.72891.cn/) Powered by Discuz! X3.2