Gece Yarısı Komutanı - Çoklu Seçim


4

MC'de geçerli dosyanın adını dosya listesinden Ctrl+ tuşlarına basarak konsola kopyalayabilirim Enter.

Sanırım birkaç dosyanın konsola kopyalamasını istiyorum. Örnek: *.zipbirkaç dosyayla oluşturmak istiyorum :

zip new_zip.zip a.txt b.txt c.txt 231202fkfo3f.txt 

Ekle (veya eşdeğeri Ctrl+ t) ile birkaç dosya seçebilirsiniz . Seçili tüm dosya adlarının tam konsola gitmesi için bundan sonra bir kısayol kullanmak istiyorum. Ctrl+ Gibi bir şey Enter.

Bunu yapmanın yolları nelerdir?

Yanıtlar:


3

Ctrl+ Tuşuna basarsanız x t, etiketlediğiniz tüm dosyaların adlarını Ctrl+ tveya Insertkomut satırına yapıştırır .


1

Benzer bir dahili çözüm F2kullanıcı menüsünden de elde edilebilir. "Etiketli dosyalarda bir şey yap" adı verilir ve verilen komutu dosyaları tek tek çalıştırır.

Bu menüye yeni komutlar eklenebilir. Biraz zor bir çözüm ama benim için çalıştı. (Subshell desteği gereklidir.)

Kullanıcı menüsü yapılandırma dosyası genellikle aşağıdaki yerlerde bulunur:

/etc/mc/mc.menu

Benim çözümüm "etiketli dosyalar üzerinde bir şeyler yap" üzerine kuruludur. Satırlarını kopyaladım ve şöyle değiştirdim:

+ t t
p       Put selected files to history
    set %t
    while [ -n "$1" ]; do
      STR="$STR \\\"$1\\\""
      shift
    done
    bash -ic "history -s $STR" > /dev/null

İlk satır, yalnızca birden fazla dosya seçildiğinde gösterilmesi gerektiği anlamına gelir. İkinci satır, kullanıcı menüsünde ( p) bir başlık ve bir kısayol içerir . Bundan sonra, seçilen dosya adlarını geçmişinize ekleyen bir kabuk betiği gelir.

Bu satırları ekleyin mc.menuve tablolamaya dikkat edin. Birinci ve ikinci satırda tablo yoktur ve komut dosyası TAB'lerle birlikte tablolanır. Aksi takdirde mcayrıştırmak mümkün olmazdı.

Bundan sonra bazı dosyaları seçmeli ve tuşuna basmalısınız F2. Yeni eklenen "Seçili dosyaları tarihe koy" seçeneğine basın. Şimdi onlar tarihe eklendi, ancak kullanılması için yeniden okunması gerekiyor. Ctrl+ ' OYa basın ve history -rkomut satırına yazmalısınız. Sonunda seçilen dosya isimlerini UPtuşuna basarak bulacaksınız .

Alternatif bir çözüm de kullanılabilir. Belki dizgeyi terminale yazdırmanız daha kolaydır ve bundan sonra kopyalayıp yapıştırabilirsiniz. Aşağıdaki script bunu uygular:

+ t t
p       Print selected files to subshell
    set %t
    while [ -n "$1" ]; do
      STR="$STR \"$1\""
      shift
    done
    echo "$STR"

Cevabınız için teşekkür ederim. Üzgünüz, çok geç cevap
verdiğim için
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.