2017-05-22 1 views
0

Ich habe ein Problem mit zgrep. Ich möchte nach einer XML-Datei suchen, die auf einem ID und einem bestimmten Date vom Benutzer angegebenen basiert. Jede XML-Datei enthält eine ID und ein Datum darin. Das Programm sollte bestätigen, dass diese Dateien die gleiche ID, aber ein anderes Datum haben können. Ich habe versucht, zgrep zu verwenden, aber ich weiß nicht, wie man nach zwei verschiedenen Variablen sucht, und mein Code funktioniert nicht. Hier ist mein Code:zgrep auf mehrere Eingabevariablen Problem

echo "Introduce ID: " 
read -r InputCode 
echo "Set a specific Date [ DD-MM-YYYY ]: " 
read -r Date 

#Search patterns in every zip folder 
find . -print0 | xargs -0 zgrep -l $InputCode && $Date 

Ich würde mich über Ihre Hilfe freuen!

+0

https://stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self-contained-tags/1732454#1732454 – chepner

Antwort

0

Sie können ID und Datum nicht mit einem einzigen grep-Befehl eingeben, wenn sie sich nicht in derselben Zeile befinden. Versuchen Sie folgendes:

find . -print0 | xargs -0 zgrep -lZ -e "$InputCode" | xargs -0 zgrep -l -e "$Date" 
+0

Es funktioniert! ich danke dir sehr. Es kann die erste Datei jedes Zip-Ordners, aber nicht die anderen Dateien finden. denkst du könnte ein fehler sein? –

+0

Es sieht funktioniert gut auf meinem Rechner. Es gibt jedoch einige Bugs in einigen Distributionen, die zgrep betreffen. –

+0

Danke, dass du mir geholfen hast –

Verwandte Themen