Linux Head和basename一起给出由信号13终止的结果
如何摆脱由信号13终止的Linux Head和basename一起给出由信号13终止的结果,linux,find,Linux,Find,如何摆脱由信号13终止的find:basename?我试着把东西搬来搬去,找到了头-1的替代品,但我想不出来 david@server:/hdd_1/handbrake/log$ plex="/hdd_1/plex" && find "$plex" -type f -iname "*.mkv" -exec basename {} \; | head -1 Predestination (2014).mkv find: `basename' terminated by signal
find:basename
?我试着把东西搬来搬去,找到了头-1的替代品,但我想不出来
david@server:/hdd_1/handbrake/log$ plex="/hdd_1/plex" && find "$plex" -type f -iname "*.mkv" -exec basename {} \; | head -1
Predestination (2014).mkv
find: `basename' terminated by signal 13
find: `basename' terminated by signal 13
find: `basename' terminated by signal 13
find: `basename' terminated by signal 13
find: `basename' terminated by signal 13
find: `basename' terminated by signal 13
find: `basename' terminated by signal 13
find: `basename' terminated by signal 13
find: `basename' terminated by signal 13
find: `basename' terminated by signal 13
可能与空间有关 试试这个:
plex="/hdd_1/plex" && find "$plex" -type f -iname "*.mkv" -print0 | xargs -0 basename | head -1
信号13表示“断管”head
已经得到了它所需要的并结束了,但是basename
仍在泵入管道(现在管道没有任何方向,因此信号13)
试试这个:
plex="/hdd_1/plex" && find "$plex" -type f -iname "*.mkv" | head -1 | xargs basename
basename:extra Operator'/hdd_1/plex/movie/Earth to Echo(2014)。请参阅。管道将stdout从一个命令重新定向到另一个命令的stdin,但
head
已退出,因此basename
继续尝试写入输出导致管道破裂。您可能希望检查basename的退出
代码,但假设它总是返回真
,只需添加-quit
,而不是管道到头-n1
,就可以解决问题。