ho un problema che sto sperando che qualcuno sarà in grado di aiutare con ...grep -f sul file in una cartella compressa
sto eseguendo una ricorsiva fgrep/grep -f ricerca su un cartella compressa utilizzando il seguente comando in uno dei miei programmi:
il comando che sto usando
grep -r -i -z -I -f /path/to/pattern/file /home/folder/TestZipFolder.zip
All'interno del file modello è la stringa "Dog" che sto cercando di cercare.
Nella cartella zippata sono presenti numerosi file di testo contenenti la stringa "Cane".
Il comando grep -f trova correttamente i file di testo contenenti la stringa "Cane" in 3 file all'interno della cartella zippata, ma stampa l'output tutto su una riga e alcuni caratteri strani compaiono alla fine cioè PK (come mostrato sotto). E quando provo e stampare l'output in un file nel mio programma altri personaggi appaiono alla fine come ^B^T^@
uscita dal comando grep -f:
TestZipFolder/test.txtThis is a file containing the string DogPKtest1.txtDog, is found again in this file.PKTestZipFolder/another.txtDog is written in this file.PK
Come vorrei avere ciascuno di i file in cui è stata trovata la stringa "Cane" per stampare su una nuova riga in modo che non siano tutti raggruppati insieme su un'unica riga come sono ora? Dov'è il "PK" e altri strani caratteri che appaiono nell'output e come posso impedire che vengano visualizzati?
output desiderato
TestZipFolder/test.txt:This is a file containing the string Dog
TestZipFolder/test1.txt:Dog, is found again in this file
TestZipFolder/another.txt:Dog is written in this file
Qualcosa in questo senso, per cui l'utente è in grado di vedere dove la stringa può essere trovata nel file (è effettivamente ottenere l'output in questo formato se si esegue il grep comando su un file che non è un file zip).
vostro aiuto con questo è molto apprezzato, grazie
c'è un modo per mostrare anche dove si trova la corrispondenza nel file come nel comando grep nella mia domanda ?, invece di elencare semplicemente il file in cui è stato trovato? - grazie mille –
puoi fornire l'output desiderato? Se lo fai, posso provare. – blackSmith
Aggiornato la mia domanda per mostrare l'output desiderato. È lo stesso formato in cui si trova l'output se si esegue il comando grep su una cartella che non è un file zip (cioè fornisce il nome del file in cui è stata trovata una corrispondenza dopo che i due punti mostrano dove si trova) grazie molto –