Ich habe ein Skript mit zwei mehrzeiligen Strings. Ich würde gerne wissen, ob sie gleich sind. Ich habe keinen Weg gefunden, dies zu tun, denn während das Vergleichen einfach ist, ist es nicht möglich, den Wert der Variablen an den Vergleich thingamajig zu übergeben. Ich hatte keinen Erfolg damit, es mit diff zu verschicken, aber es könnte meine Unfähigkeit sein (viele der Dinge, die ich probiert habe, führten zu 'Dateinamen zu lange' Fehlern). Ein Workaround wäre es, Zeilenumbrüche durch einige seltene Zeichen zu ersetzen, aber es trifft auf das gleiche Problem. Irgendwelche Ideen?Vergleichen Sie mehrzeilige Strings in bash Variablen
Antwort
Dies kann hilfreich sein:
var=$(echo -e "this\nis \na\nstring" | md5sum)
var2=$(echo -e "this\nis not\na\nstring" | md5sum)
if [[ $var == $var2 ]] ; then echo true; else echo false; fi
1. Sie besser $ verwenden {} anstelle von $(). 2. Sie müssen md5sum nicht verwenden ... Sie können einfach die Strings "wie sie sind" vergleichen –
@ I-V '$ {...}' kann nicht anstelle von '$ (...)' verwendet werden. Sie haben jedoch Recht mit 'md5sum'. – chepner
Warum nicht {}? (Ich möchte wirklich verstehen :)) –
- 1. mehrzeilige Zuordnung in bash
- 2. Vergleichen Strings in Vb
- 3. Erlaubt Vimscript mehrzeilige Strings?
- 4. bash mehrzeilige Zeichenfolge keine Interpolation
- 5. mehrzeilige bash Kommentar Etikette (# +)
- 6. Mehrzeilige Strings mit führenden Leerzeichen
- 7. Bash: Teil eines Strings extrahieren
- 8. Vergleichen Sie zwei Strings Arrays
- 9. mehrzeilige Bash-Skript und Verkettung von ausgewertet bash Variablen in makefile Richtlinie
- 10. Vergleichen Sie 2 Strings in V +
- 11. Vergleichen Sie Zeichen in Strings Python
- 12. Vergleichen Sie zwei Hex-Strings in Java?
- 13. Vergleichen Sie 2 Strings in Python
- 14. Vergleichen Strings in Lisp
- 15. Vergleichen Strings in Vorlagen
- 16. vergleichen Inhalt von zwei Variablen in der Bash
- 17. strings in bash
- 18. mehrzeilige Ausgabe in eine Bash Variable Capturing
- 19. Vergleichen Sie Zeichenfolge vs modifizierte Strings und partielle Strings
- 20. Vergleichen Sie zwei Variablen in PIG
- 21. Vergleichen Sie zwei Variablen in Assembly
- 22. Vergleichen Sie zwei Variablen in jinja2 Vorlage
- 23. Vergleichen Python Strings
- 24. Vergleichen Strings Servlet Antwort
- 25. ElasticSearch: Vergleichen Sie die gepunktete Version Strings
- 26. Vergleichen Sie zwei Strings mit Regex
- 27. Vergleichen Sie 5000 Strings mit PHP Levenshtein
- 28. Fehlgeschlagen Strings in jsp vergleichen
- 29. Vergleichen Sie zwei XML-Strings Element, um
- 30. Vergleichen Strings, als ob sie Zahlen waren
versuchen, dieses: 'diff <(echo "$ string1") <(echo "$ string2")' – ritesht93
Hallo! Das gibt mir 'Syntaxfehler in der Nähe von unerwarteten Token '(': diff <(echo" $ S1 ") <(echo" $ S2 ")". Hinweis: Dies ist OS X, aber ich bin mir nicht sicher, dass das das Problem ist. – entonio
Ich sollte darauf hinweisen, dass meine Bash (3.2.57) anscheinend nicht die '<(...)' Syntax unterstützt, egal was drin ist. Ich weiß, dass ich dies mit 'bash' markiert habe, aber wenn möglich, ' d wie eine generische Antwort (obwohl jede Antwort hilfreich wäre!), – entonio