Nie trzeba zmieniać ogranicznika, aby wyświetlić prawą część napisu za pomocą cut
.
-f
przełącznik dowodzenia w cut
jest pierwiastkiem n-TH oddzielone przez separator: :
, więc może po prostu wpisać:
grep puddle2_1557936 | cut -d ":" -f2
Another rozwiązań (dostosować ją nieco), jeśli chcą zabawa:
Korzystanie grep:
grep -oP 'puddle2_1557936:\K.*' <<< 'puddle2_1557936:/home/rogers.williams/folderz/puddle2'
/home/rogers.williams/folderz/puddle2
lub jeszcze z look aroundregex
grep -oP '(?<=puddle2_1557936:).*' <<< 'puddle2_1557936:/home/rogers.williams/folderz/puddle2'
/home/rogers.williams/folderz/puddle2
lub perl:
perl -lne '/puddle2_1557936:(.*)/ and print $1' <<< 'puddle2_1557936:/home/rogers.williams/folderz/puddle2'
/home/rogers.williams/folderz/puddle2
lub za pomocą ruby (dzięki glenn jackman)
ruby -F: -ane '/puddle2_1557936/ and puts $F[1]' <<< 'puddle2_1557936:/home/rogers.williams/folderz/puddle2'
/home/rogers.williams/folderz/puddle2
lub z awk:
awk -F'puddle2_1557936:' '{print $2}' <<< 'puddle2_1557936:/home/rogers.williams/folderz/puddle2'
/home/rogers.williams/folderz/puddle2
lub python:
python -c 'import sys; print(sys.argv[1].split("puddle2_1557936:")[1])' 'puddle2_1557936:/home/rogers.williams/folderz/puddle2'
/home/rogers.williams/folderz/puddle2
lub za pomocą tylko bash:
IFS=: read _ a <<< "puddle2_1557936:/home/rogers.williams/folderz/puddle2"
echo "$a"
/home/rogers.williams/folderz/puddle2
lub za pomocą js w shell:
js<<EOF
var x = 'puddle2_1557936:/home/rogers.williams/folderz/puddle2'
print(x.substr(x.indexOf(":")+1))
EOF
/home/rogers.williams/folderz/puddle2
lub za pomocą php w shell:
php -r 'preg_match("/puddle2_1557936:(.*)/", $argv[1], $m); echo "$m[1]\n";' 'puddle2_1557936:/home/rogers.williams/folderz/puddle2'
/home/rogers.williams/folderz/puddle2
Minimalna poprawka to użycie '-f2' z' cut'. Btw, dlaczego musi zaczynać się od 'grep puddle2_15579636', czy coś złego się stanie, jeśli tak nie będzie? – doubleDown
Dziękuję bardzo! Nie wiedziałem, że naprawa była łatwa ... haha. Musiałem także zacząć od grepa puddle2_15579636, ponieważ piszę dość długi scenariusz, a w tym momencie w skrypcie jedyne dostępne informacje to! Trudno to wytłumaczyć, jeśli nie zobaczysz całego projektu! – DeaIss