Você não acha que a sintaxe estranha é um pouco estranha?
ps | grep xxx | awk '{ print $1 }' | xargs kill
Eu forneço a você um equivalente ruby fácil de lembrar:
ps | grep xxx | ruby -ane 'puts $F[0]' | xargs kill
Embora um pouco mais longo, você pode colocar qualquer código ruby válido entre aspas e ele simplesmente funcionará! O sinalizador ‘a’ divide cada linha em um array $ F, e o sinalizador ‘n’ assume ‘while gets (); … end ‘loop em torno do código fornecido por’ e ‘.
@editar:
Konrad acha que o awk é a melhor ferramenta para essas coisas . A questão é: eu odeio perl e awk, adoro Ruby . Mesmo que ele execute um pouco mais lento, me sinto confortável com isso. Claro que não o recomendo se você se preocupa com a portabilidade ou se está escrevendo um script de código aberto.