Soweit ich erinnere Zugabe - als Option auf der Kommandozeile wird der Befehl rm verursachen alle verbleibenden Argumente buchstäblich zu betrachten, so dass der Befehl
rm -- -1
den Musikanten benannten Dateien entfernen. Beachten Sie, dass Sie immer noch shellextensions (wie '*' oder '?') Verwenden können, da die Shell diese vor erweitert, der Befehl ausgeführt wird (im Gegensatz zu DOS).
Bearbeiten: Als ich das erste Mal mit diesem Problem konfrontiert wurde, wusste ich nicht über die - Schalter, also schrieb ich ein kleines c-Programm, das den Dateinamen genauso wie das erste Argument entfernen würde. Dies ist einfach zu tun, da alle Posix-Betriebssysteme den unlink
Systemaufruf enthalten, die die Datei mit dem Namen als Argument (Dump folgende in einen Terminal) gegeben entfernt:
remove_arg.c << EOF
#include<unistd.h>
int main(int argc, char **argv){
unlink(argv[1]);
}
EOF
gcc -o remove_arg remove_arg.c
./remove_arg -1
Dies auf jedem Unix-System arbeiten sollte , obwohl Sie möglicherweise gcc
in cc
ändern müssen oder was der lokale c-Compiler genannt wird.
Ja, vor ./ ist in der Tat die klassische Lösung für dieses Problem. –
dies scheint nicht zu funktionieren, wenn etwas wie grep -i Content-Type verwendet wird. * Pdf ./*.eml – BeowulfNode42