Katakanlah bahwa selama hari kerja Anda, Anda berulang kali menemukan bentuk output yang dikolomisasi dari beberapa perintah berikut di bash (dalam kasus saya dari mengeksekusi svn st
di direktori kerja Rails saya):
? changes.patch
M app/models/superman.rb
A app/models/superwoman.rb
untuk bekerja dengan output dari perintah Anda - dalam hal ini nama file - semacam penguraian diperlukan sehingga kolom kedua dapat digunakan sebagai input untuk perintah berikutnya.
Apa yang saya lakukan adalah menggunakan awk
untuk mendapatkan di kolom kedua, misalnya ketika saya ingin menghapus semua file (bukan itu usecase khas :), saya akan melakukan:
svn st | awk '{print $2}' | xargs rm
Karena saya sering mengetik ini, pertanyaan alami adalah: apakah ada cara yang lebih pendek (dengan demikian lebih dingin) untuk mencapai ini di bash?
CATATAN: Apa yang saya tanyakan pada dasarnya adalah pertanyaan perintah shell meskipun contoh konkret saya ada di alur kerja svn saya. Jika Anda merasa alur kerja itu konyol dan menyarankan pendekatan alternatif, saya mungkin tidak akan memilih Anda, tetapi yang lain mungkin, karena pertanyaan di sini adalah benar-benar bagaimana cara mendapatkan output perintah kolom ke-n di bash, dengan cara sesingkat mungkin . Terima kasih :)