私は例を持っています:
pic@pic:~$ echo ",article{gjn2010jucs, Author = {Grzegorz J. Nalepa}, " | awk '{gsub(/[^,],.*/,""); print }'
,article{gjn2010juc
pic@pic:~$
結果を得るために正規表現を改善する方法:
,article{gjn2010jucs
私は例を持っています:
pic@pic:~$ echo ",article{gjn2010jucs, Author = {Grzegorz J. Nalepa}, " | awk '{gsub(/[^,],.*/,""); print }'
,article{gjn2010juc
pic@pic:~$
結果を得るために正規表現を改善する方法:
,article{gjn2010jucs
正規表現を改善したい場合: キャプチャ グループを使用する必要があります。これらはsub()
またはで使用できる機能ではありませんgsub()
。を使用する必要がありますgensub()
。文字列操作関数の詳細については、こちらを参照してください。
私はgensub()
このように使用します:
awk '{ print gensub(/(,[^,]+).*/,"\\1", "g") }'
テスト:
echo ",article{gjn2010jucs, Author = {Grzegorz J. Nalepa}, " | awk '{ print gensub(/(,[^,]+).*/,"\\1", "g") }'
結果:
,article{gjn2010jucs
または、破棄するものを見つける代わりに、保持するものを見つけます: 最初のコンマとそれに続くすべての非コンマ文字を保持します:
gawk 'match($0, /^,[^,]+/, ary) {print ary[0]}'
モークの更新:
mawk 'match($0, /^,[^,]+/) {print substr($0, RSTART, RLENGTH)}'