2012-03-15 68 views

回答

5

echo "ABC|DEF|GHI" | sed 's/\([A-Z]*\)\|/\L\1/'

輸出:

abc|DEF|GHI

4
awk -F"|" '{l = $0; sub($1, "", l); print tolower($1) l}' yourFile 
0

這可能會爲工作你:

echo "ABC|DEF|GHI" | sed 's/[^|]*/\L&/' 
abc|DEF|GHI 
0

Look Ma,no sed

e="ABC|DEF|GHI" 
prefix=${e%%|*} 
postfix=${e#*|} 
echo ${prefix,,}"|"${postfix} 

結果:

abc|DEF|GHI 
  • ${e%%|*}消除一切配套| *從最終
  • ${e%|*}從最終
  • ${e##*|}消除一切配套刪除一個比賽* |從一開始
  • ${e#*|}刪除一個匹配* |從一開始
  • ${prefix,,}輸入小寫
  • ${prefix^^}產生大寫

man bash,部分Parameter expansion更多的細節。