Komut tamamlama çıktısını nasıl yönlendiririm?


25

Komut satırında, bir komutun çıktısını komuttan sonra >veya |operatörünü kullanarak bir dosyaya veya başka bir komuta yönlendirebilir veya yönlendirebilirim . Çıktıyı bir dosyaya yönlendirmek istediğim daha az standart bir durumla karşılaştım, ancak yeniden yönlendirmek için elime sahip görünmüyor:

Yeni bir terminalde,

[chiliNUT ~]$

Ben basarsanız Tabilk yazarak şey olmadan, bana sorulan

display all 1725 possibilities? (y or n)

ve eğer yazarsam y, uzun ve farklı komutların listesini alırım. Bu çıktıyı bir dosyaya nasıl yönlendirebilir veya yönlendirebilirim? Hiçbir > myfile.txtyere yazma şansım yok gibi görünüyor .

Kullanma CentOs 6.4 (nihai) serbest .

Yanıtlar:


26

Yerleşikten faydalanabilirsin compgen:

compgen: compgen [-abcdefgjksuv] [-o option]  [-A action] [-G globpat]
[-W wordlist]  [-F function] [-C command] [-X filterpat] [-P prefix]
[-S suffix] [word]

    Display possible completions depending on the options.

    Intended to be used from within a shell function generating possible
    completions.  If the optional WORD argument is supplied, matches against
    WORD are generated.

    Exit Status:
    Returns success unless an invalid option is supplied or an error occurs.

TABKomut isteminde komutları, kabuk yerleşiklerini, anahtar sözcükleri, diğer adları ve işlevleri listeler. Yani şöyle diyebilirsin:

compgen -cbka -A function | grep '^y' > myfile.txt

yTABKabuk isteminde yazdığınız tüm seçenekleri görmek için dosyaya girin myfile.txt.

grepDosyaya olası tüm komutları, fonksiyonları, ... almak için boru hattını ortadan kaldırın :

compgen -cbka -A function > myfile.txt

1
Müthiş! Yazılı olarak cevabınız aslında sadece y harfi ile başlayan komutları / dosyaları alır, bu yüzden compgen -cbka -A function > myfile.txttam çıktısını alır. Teşekkürler! (Açıkçası) bu yeni ilginç işlevi asla bilmiyordum.
chiliNUT

Oh, bu akıllıca.
Hauke ​​Laging

@chiliNUT Komutun bu komutla başlayanları alacağından bahsettim y:) Bu, soruda gösterdiklerinize oldukça uygun!
devnull

Oh, ha, biraz yanlış anladım. Soruma göre 'y' aslında 'hayır' ile 'hayır'; 'Y' giriyorum ve bu komutları dağıtıyor, 'n' giriyorum ve hiçbir şey göstermiyor.
chiliNUT

2
@chiliNUT Bunu da yansıtacak şekilde cevabı güncelledim.
devnull
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.