Saya ingin mengelompokkan gambar jpeg dengan nomor ganjil dan nomor genap. Jadi saya memang suka mengikuti:
$ mkdir odd
$ mkdir even
$ find . -regextype posix-egrep -regex ".*[13579].jpg$" -print0 | xargs -i -0 mv {} odd/
$ find . -regextype posix-egrep -regex ".*[02468].jpg$" -print0 | xargs -i -0 mv {} even/
Ini bekerja dengan baik. Dan saya menulis hal yang sama dalam skrip shell.
#!/bin/bash
mkdir odd
mkdir even
find . -regextype posix-egrep -regex ".*[13579].jpg$" -print0 | xargs -i -0 mv {} odd/
find . -regextype posix-egrep -regex ".*[02468].jpg$" -print0 | xargs -i -0 mv {} even/
Tapi itu mengembalikan kesalahan berikut:
xargs: Warning: a NUL character occurred in the input. It cannot be passed through in the argument list. Did you mean to use the --null option?
Mengapa skrip ini tidak berfungsi? Dan bagaimana cara memperbaikinya?
-i
pilihan karena saya ingin menggunakan {}
ekspresi dalam argumen xargs. Apakah itu tidak perlu?