亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区
Chinaunix
標(biāo)題:
求助:比較兩個字符串,輸出從起始位置起到第一個不相同的字符之間的字符串
[打印本頁]
作者:
smlzyc
時間:
2012-02-15 14:26
標(biāo)題:
求助:比較兩個字符串,輸出從起始位置起到第一個不相同的字符之間的字符串
本帖最后由 smlzyc 于 2012-02-15 14:27 編輯
比如
s1=/home/zzz/aaa/1.log
s2=/home/zzz/aaa/2.log
比較后,期望輸出:/home/zzz/aaa/
多謝。!
作者:
yangkyo821
時間:
2012-02-15 14:54
本帖最后由 yangkyo821 于 2012-02-15 15:11 編輯
for((i=1;i<${#s1};i++))
do
if [ "${s1:0:$i}" != "${s2:0:$i}" ]; then
echo "${s1:0:$((i-1))}"
break
fi
done
echo $s1
復(fù)制代碼
作者:
yinyuemi
時間:
2012-02-15 15:00
本帖最后由 yinyuemi 于 2012-02-17 08:54 編輯
回復(fù)
1#
smlzyc
sed -n 's,\(.*\).*\1.*,\1,p' <<<${s1}${s2}
/home/zzz/aaa/
復(fù)制代碼
另見8樓的jason680代碼
作者:
abc163635
時間:
2012-02-15 17:32
本帖最后由 abc163635 于 2012-02-15 17:32 編輯
#!/bin/bash
s1=/home/zzz/aaa/1.log
s2=/home/zzz/aaa/2.log
for((i=0;i<=${#s1};i++))
do
if [ "${s1:0:$i}" != "${s2:0:$i}" ] ; then
break
fi
done
flag=$(($i-1))
echo ${s1:0:$flag}
復(fù)制代碼
作者:
zooyo
時間:
2012-02-15 19:58
提示:
作者被禁止或刪除 內(nèi)容自動屏蔽
作者:
zooyo
時間:
2012-02-15 20:02
提示:
作者被禁止或刪除 內(nèi)容自動屏蔽
作者:
qpengf
時間:
2012-02-16 15:46
回復(fù)
3#
yinyuemi
您的解決方案總是那么巧妙,您能解釋一下嗎?這里的,是替換命令的分隔符嗎,一般這個分隔符是/,順便簡單解釋下<<<的用法吧,
多謝
作者:
yinyuemi
時間:
2012-02-17 05:58
回復(fù)
7#
qpengf
man bash
'<<<' # Here Strings
sed :
sed 's///' 中的'/' 可以用 ',' 或其他任意不影響替換結(jié)果的字符,如#等.
作者:
jason680
時間:
2012-02-17 08:38
回復(fù)
3#
yinyuemi
it has some bug ...
$ s1=/home/test
$ s2=123
$ sed -n 's,\(.*\).*\1.*,\1,p' <<<${s1}${s2}
/
$ s2=/home
$ sed -n 's,^\(.*\).*\\n\1.*,\1,p' <<<${s1}"\n"${s2}
/home
$ s2=123
$ sed -n 's,^\(.*\).*\\n\1.*,\1,p' <<<${s1}"\n"${s2}
作者:
yinyuemi
時間:
2012-02-17 08:53
回復(fù)
9#
jason680
Thanks for debugging!
作者:
qpengf
時間:
2012-02-20 14:25
學(xué)習(xí),學(xué)習(xí)了
歡迎光臨 Chinaunix (http://www.72891.cn/)
Powered by Discuz! X3.2