Ändere das Trennzeichen für die sed-Linie zu NUL, um als "xargs-0" Vorfilter zu fungieren?

8

Ich führe eine Befehlszeile wie folgt aus:

%Vor%

Wo filename_listing_command Nullbytes verwendet, um die Dateien zu trennen - das ist es, was xargs -0 konsumieren will.

Problem ist, dass ich einige der Dateien herausfiltern möchte. Etwas wie das:

%Vor%

aber ich muss xargs -0 verwenden.

Wie ändere ich das Zeilentrennzeichen, das sed von Newline zu NUL will?

    
bstpierre 20.09.2010, 23:50
quelle

3 Antworten

4

Schicke es durch grep :

%Vor%

Die -z akzeptiert Null-Terminatoren bei der Eingabe und die -Z erzeugt Null-Terminatoren bei der Ausgabe und die -v invertiert die Übereinstimmung (ausgeschlossen).

Bearbeiten:

Versuchen Sie dies, wenn Sie sed verwenden möchten:

%Vor%     
Dennis Williamson 21.09.2010, 01:39
quelle
9

Wenn Sie diese SO getroffen haben und nach einer Antwort suchen und GNU sed 4.2.2 oder höher verwenden, hat es jetzt eine Option -z, die das tut, was das OP verlangt.

    
Idcmp 16.04.2014 17:03
quelle
1

Wenn keiner Ihrer Dateinamen Zeilenumbrüche enthält, kann es einfacher sein, eine Lösung mit GNU Parallel zu lesen:

%Vor%

Erfahren Sie mehr über GNU Parallel Ссылка

    
Ole Tange 25.09.2010 18:58
quelle

Tags und Links