«string» etiketlenmiş sorular

Dize düzenleme: dizenin bir bölümünü çıkarma, metin değiştirme, belirli bir genişliğe biçimlendirme vb.



6
bash dizeyle başlayan satırları bul
Bir sürü dosya var ve belirli bir dize ile başlayan sıralı satırlar içeren bulmak istiyorum. Örneğin, aşağıdaki dosya için: Aaaaaaaaaaaa Baaaaaaaaaaa Cxxxxxxxxx Cyyyyyyyyy Czzzzzzzzz Abbbbbbbbbbb Bbbbbbbbbbbb Caaaaaa Accccccccccc Bccccccccccc Cdddddd Ceeeeee 'C' ile başlayan birden fazla satır var, bu yüzden bu dosyanın komutla bulunmasını istiyorum. Örneğin, aşağıdaki dosya için: Aaaaaaaaaaaa …
10 bash  sed  grep  string 

5
Bash'deki yol adlarında desen eşleşmesi
Bir dizindeki alt dizinler listesinde hareket etmek istiyorum. Düşünmek: for x in x86-headers/*/C/populate.sh; do echo $x; done Bu verir x86-headers/elf/C/populate.sh x86-headers/gl/C/populate.sh x86-headers/gmp/C/populate.sh x86-headers/gnome2/C/populate.sh x86-headers/gtk2/C/populate.sh x86-headers/jni/C/populate.sh x86-headers/libc/C/populate.sh Ama yolunun ikinci kısmı ile denktir, yani değerlerini istiyorum elf, glvb ben lider kapalı şerit biliyorum x86-headers. for x in x86-headers/*/C/populate.sh; do i=${x##x86-headers/}; echo …


2
Dinamik olarak komut oluşturma
Bir komut dosyası üzerinde çalışıyorum ve tarkomutu dinamik olarak oluşturmam gerekiyor . İşte yapmaya çalıştığım şeyi gösteren iki örnek: #!/bin/bash TAR_ME="/tmp" EXCLUDE=("/tmp/hello hello" "/tmp/systemd*" "/tmp/Temp*") _tar="tar "`printf -- '--exclude="%s" ' "${EXCLUDE[@]}"`" -zcf tmp.tar.gz" echo COMMAND: "${_tar}" ${_tar} "$TAR_ME" echo -e "\n\nNEXT:\n\n" EXCLUDE=("--exclude=/tmp/hello\ hello" "--exclude=/tmp/systemd*" "--exclude=/tmp/Temp*") _tar="tar "`printf -- '%s ' …

4
/ Bin / sh içinde iki nokta üst üste dizeyi böl
Benim dashkomut dosyası biçiminde bir parametre alır hostname:portyani: myhost:1234 Bağlantı noktası isteğe bağlıdır, yani: myhost Ana bilgisayar ve bağlantı noktasını ayrı değişkenlere okumam gerekiyor. İlk durumda şunları yapabilirim: HOST=${1%%:*} PORT=${1##*:} Ancak bu, bağlantı noktası atlandığında ikinci durumda çalışmaz; echo ${1##*:}boş bir dize yerine anasistem adı döndürür. Bash'te şunları yapabilirim: IFS=: …
9 shell  string  dash 

5
/ Path / to / file / p / t / file kısaltması nasıl yapılır
awkHer bir üst / orta seviyenin ilk karakterini, ancak tam basename kullanarak bir Unix yolunun bir dizesini kısaltacak zarif bir astar (örneğin ) arıyorum . Örneklerle gösterilmesi daha kolay: /path/to/file → /p/t/file /tmp → /tmp /foo/bar/.config/wizard_magic → /f/b/./wizard_magic /foo/bar/.config/wizard_magic→ /f/b/.c/wizard_magic Aşağıdaki @ MichaelKjörling ve @ChrisH tarafından verilen iyi noktalar ışığında, …
9 sed  awk  string 


2
Boru bash dizisi manipülasyonu
Diğer bazı boru bash dize manipülasyon soruları okudum ama onlar özel uygulamalar gibi görünüyor. Esasen, aşağıdakileri daha basit yapmanın bir yolu var mı? onun yerine $ string='hello world'; string2="${string// /_}"; echo "${string2^^}" HELLO_WORLD gibi bir şey $ echo 'hello world' | $"{-// /_}" | "${ -^^}" HELLO_WORLD Hızı korumak için …

2
bir maçın çevresindeki karakterleri grep
Dev bir veritabanı dökümü içinde bir bulma ve değiştirme yapmak için arıyorum ve bu olması gerektiğini düşündüğüm yapmıyor. Dosyadaki hedef dizem için grep ve daha sonra çevreleyen 8 karakteri görmek istiyorum (bağlı olarak bu sayıyı ayarlamanız gerekebilir). Bunu nasıl yapabilirim? Bunu göz küresi yapamamamın nedeni, yüzlerce maç olmasa da yüzlerce …

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.