当使用basename
和xargs
占位符一起工作时,可能会遇到一些问题。这是因为basename
命令默认情况下只接受stdin输入,并且不接受作为命令行参数传递的文件名。
为了解决这个问题,可以使用-I
选项来指定xargs
占位符,并将文件名作为参数传递给basename
命令。下面是一个示例:
find /path/to/files -type f -print0 | xargs -0 -I {} basename {}
这里的-print0
选项用于将find
命令的输出以null字符分隔,-0
选项用于告诉xargs
使用null字符作为分隔符。-I {}
选项用于指定xargs
占位符。
这样,xargs
将会将每个文件名传递给basename
命令,并输出文件名的基本名称。
注意:在某些操作系统中,xargs
的-I
选项使用的是-i
。因此,如果上述示例不起作用,请尝试使用-i
选项代替-I
选项。
希望这个解决方法能够帮助到你!