«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.

2
Bash ve Zsh dışındaki mermiler ANSI-C teklifini destekliyor mu? örneğin $ 'string'
Çıktısında yeşil bir onay işareti yazdırmak için aşağıdakileri kullanan bir kabuk komut dosyası var: col_green="\e[32;01m" col_reset="\e[39;49;00m" echo -e "Done ${col_green}✓${col_reset}" Bash'in hakkında okuduktan sonra ANSI-C aktaran , benim renk değişkenleri ayarlarken kullanmak ve kaldırmak fark etti -ebenim gelen bayrağı yankı . col_green=$'\e[32;01m' col_reset=$'\e[39;49;00m' echo "Done ${col_green}✓${col_reset}" Bu çekici görünüyor, çünkü …

4
dize ikameleri: tüm olaylar
Basit bir soru, ama cevabı bulamıyorum. zsh belgeleri beni eziyor :-( function z () { echo ${1:s/the/THE} } $ z thethethe THEthethe ... Yalnızca ilk olay yerine tüm 'the' kelimelerinin 'THE' ile değiştirilmesini nasıl sağlayabilirim ? Zsh ile örnekler bulmak en zor gibi görünen en kolay şeydir.
13 zsh  string 



3
Sed veya awk çağırmadan nokta karakterini dizeden nasıl kaldırırsınız?
Ben böyle bir hostlist.txtmetin içeren adlı bir dosya var : host1.mydomain.com host2.mydomain.com anotherhost www.mydomain.com login.mydomain.com somehost host3.mydomain.com Aşağıdaki küçük komut dosyası var: #!/usr/local/bin/bash while read host; do dig +search @ns1.mydomain.com $host ALL \ | sed -n '/;; ANSWER SECTION:/{n;p;}'; done <hostlist.txt \ | gawk '{print $1","$NF}' >fqdn-ip.csv Hangi çıktılar fqdn-ip.csv: …


5
Bir kabuk komutunun çıktısındaki karakter sayısı
Tek bir adımda bir komutun çıkışındaki karakter sayısını hesaplaması gereken bir komut dosyası yazıyorum . Örneğin, komutun kullanılması 10 karakter uzunluğunda olduğu için komutun kullanılması readlink -f /etc/fstabgerekir 10. Bu, aşağıdaki kod kullanılarak saklanan değişkenlerle zaten mümkündür: variable="somestring"; echo ${#variable}; # 10 Ne yazık ki, aynı formülü komut tarafından oluşturulan …
12 shell  string  variable 

3
Tek bir geçişte birden fazla dizeyi değiştirme
Ortak Unix araçlarıyla (bash, sed, awk, belki perl) bir şablon dosyasında yer tutucu dizeleri somut değerlerle değiştirmenin bir yolunu arıyorum. Değişimin tek bir geçişte yapılması önemlidir, yani zaten taranan / değiştirilen şey başka bir değişim için dikkate alınmamalıdır. Örneğin, bu iki deneme başarısız olur: echo "AB" | awk '{gsub("A","B");gsub("B","A");print}' >> …
12 bash  sed  awk  string  replace 


1
Yürütülebilir bir ikili dosyadaki dizeleri ne zaman düzenleyebilirim?
Yürütülebilir bir ikili var; diyelim a.out. İkili dizeleri içeren görebilirsiniz $ strings a.out ... /usr/share/foo .... Ben dize değiştirmeniz gerekir /usr/share/fooiçin /usr/share/bar. Dizeyi sadece ile değiştirebilir miyim sed? sed -i 's@/usr/share/foo@/usr/share/bar@' a.out Bu güvenli bir şey gibi görünüyor. Dizeler aynı uzunlukta olmadığında da çalışır mı?


3
Bir Dize'den Bash'deki “kelimeler” Dizisine git
Her girişte bu dize her kelime olduğu bir dizeye bir dizeden gitmek gerekiyor. Örneğin, aşağıdakilerden başlayarak: VotePedro="Vote for Pedro" Diziye ihtiyacım var: Vote For Pedro Hangi daha sonra üzerinden tekrarlamak mümkün olmalıdır: for i in "${votePedroArray[@]}" do ## Do something done

4
Bash'deki iki dizenin çakışmasını nasıl bulabilirim? [kapalı]
Kapalı. Bu soru konu dışı . Şu anda cevapları kabul etmiyor. Bu soruyu geliştirmek ister misiniz? Sorunuzu güncelleyin o yüzden konuyla Unix & Linux Stack Exchange için. 5 yıl önce kapalı . İki telim var. Örnek uğruna bunlar şu şekilde ayarlanır: string1="test toast" string2="test test" İstediğim dizelerin başında başlayan örtüşmeyi …



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.