2012-03-15 28 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##*|}が一致するすべてのものを削除する端から1試合を取り除く端から* |最初から
  • ${e#*|}は1つの一致を削除します*
  • ${prefix,,}が小文字
  • ${prefix^^}が大文字

を生産する生産初めからman bash、より多くの詳細については、セクションParameter expansionを参照してください。

関連する問題