Pytania otagowane jako string

Manipulowanie ciągiem: wyodrębnianie części ciągu, zamiana tekstu, formatowanie do określonej szerokości itp.



6
Jak przechwycić komunikat o błędzie z wykonanego polecenia?
Zadanie polegało mi na utworzeniu skryptu zautomatyzowanego serwera, a jednym z nich był raport wszystkich wyników każdego wykonanego polecenia. Chcę zapisać komunikat o błędzie w ciągu i dołączyć go do pliku tekstowego. Powiedzmy, że uruchomiłem to polecenie: /sbin/modprobe -n -v hfsplus Wynikiem uruchomienia tego na moim komputerze byłoby: FATAL: Module …
20 bash  scripting  string 

2
Dlaczego ten skrypt działa w terminalu, ale nie z pliku?
Mam ten skrypt powłoki zapisany w pliku: podstawia ciąg znaków. #!/bin/sh html_file=$1 echo "html_file = $html_file" substr=.pdf pdf_file="${html_file/.html/.pdf}" echo "pdf_file = $pdf_file" Jeśli wkleję go do wiersza poleceń, działa dobrze: $ html_file="/home/max/for_pauld/test_no_base64.html" echo "html_file = $html_file" substr=.pdf pdf_file="${html_file/.html/.pdf}" echo "pdf_file = $pdf_file" daje html_file = /home/max/for_pauld/test_no_base64.html pdf_file = /home/max/for_pauld/test_no_base64.pdf To …
19 bash  string 



2
Czy w powłoce jest coś takiego jak „split ()” JavaScript?
W split()JavaScripcie bardzo łatwo jest podzielić łańcuch na tablicę. Co ze skryptem powłoki? Powiedz, że chcę to zrobić: $ script.sh var1_var2_var3 Gdy użytkownik poda taki ciąg var1_var2_var3do script.sh, wewnątrz skryptu przekształci ciąg w podobną tablicę array=( var1 var2 var3 ) for name in ${array[@]}; do # some code done

4
najkrótszy sposób zamiany znaków w zmiennej
Istnieje wiele sposobów zamiany znaków w zmiennej. Najkrótsza droga, jaką się dowiedziałem, to tr: OUTPUT=a\'b\"c\`d_123and_a_lot_more OUTPUT=$(echo "$OUTPUT"|tr -d "'\`\"") echo $OUTPUT Czy jest szybszy sposób? I jest to bezpieczne dla cytowanie cytatów jak ', "i `sama?
18 bash  string  variable 

3
Jak odroczyć rozszerzenie zmiennej
Chciałem zainicjować niektóre ciągi na początku mojego skryptu za pomocą zmiennych, które nie zostały jeszcze ustawione, takich jak: str1='I went to ${PLACE} and saw ${EVENT}' str2='If you do ${ACTION} you will ${RESULT}' a później na PLACE, EVENT, ACTION, i RESULTbędzie ustawiony. Chcę wtedy móc wydrukować moje łańcuchy z rozwiniętymi zmiennymi. …
18 bash  shell  string 

2
Wyodrębnianie łańcucha, zgodnie ze wzorem, w skrypcie bash
Załóżmy, że mam ciąg znaków strname: strname="ph7go04325r" Chciałbym wyodrębnić znaki między pierwszym "3" znakiem a ostatnim "r" znakiem w strname, zapisując wynik w ciągu strresult. W powyższym przykładzie wynikiem strresultbyłoby: strresult="25" Pierwszy "3"znak niekoniecznie musi znajdować się w pozycji łańcucha 8 w strname; Podobnie, ostatnia "r"jest nie zawsze w pozycji …

3
jak usunąć ostatni ukośnik ścieżki katalogu?
Mam skrypt, który wymaga katalogu jako jednego argumentu. Chcę wesprzeć dwie formy: jedna jest jak a/b/c (bez slash na końcu), a inny jest jak a/b/c/ (ma slash na końcu). Moje pytanie: biorąc pod uwagę którąkolwiek z dwóch form, jak mogę po prostu zachować pierwszą formę bez zmian i usunąć ostatni …

3
Czy bash obsługuje odwołania referencyjne w rozszerzaniu parametrów?
Mam zmienną o nazwie descr, które mogą zawierać łańcuch Blah: -> r1-ae0-2 / [123], -> s7-Gi0-0-1:1-US / Fooitp Chcę uzyskać -> r1-ae0-2, -> s7-Gi0-0-1:1-USczęść z łańcucha. W tej chwili używam descr=$(grep -oP '\->\s*\S+' <<< "$descr"do tego. Czy jest na to lepszy sposób? Czy można to również zrobić z rozszerzaniem parametrów?

5
Indeksuj ciąg w bash
Jak mogę odwoływać się do ciągu według indeksu w sh / bash? To znaczy w zasadzie dzielenie. Próbuję usunąć 5 znaków z nazwy pliku. Wszystkie nazwy mają strukturę: nazwa_kod_nr. Usiłuję usunąć 5-bitowy kod kodu. name_nr_ma zawsze 10 znaków. Czy istnieje coś takiego; for i in * ; do mv "$i" …
15 bash  shell  string 


4
Uzyskaj wszystkie możliwe kombinacje słowa małymi / dużymi literami
Chcę napisać skrypt bash, aby wydrukować wszystkie możliwe kombinacje małych i wielkich liter danego słowa, np. Harley: harley harleY harlEy harLey ... HARLey HARLEy HARLEY Moim naiwnym rozwiązaniem jest napisanie n-tej (n to len (słowo)) zagnieżdżonej pętli for dla tego konkretnego słowa: #!/bin/bash for a in {h,H}; do for b …
14 bash  string 

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.