以下代码如何只打印一个文件?
find "$fdir" -type f -name "${fnam}-*.png" -print0 | awk -v RS='\0' -F'[-.]' '{print $(NF-1), $0}' | cat -vet
这给了我
04 /home/flora/edvart/docs/schimmel-04.png$
但是做find "$fdir" -type f -name "${fnam}-*.png"
会给
/home/flora/edvart/docs/schimmel-04.png
/home/flora/edvart/docs/schimmel-05.png
/home/flora/edvart/docs/schimmel-06.png
/home/flora/edvart/docs/schimmel-07.png
/home/flora/edvart/docs/schimmel-08.png
/home/flora/edvart/docs/schimmel-09.png
/home/flora/edvart/docs/schimmel-10.png
/home/flora/edvart/docs/schimmel-11.png
/home/flora/edvart/docs/schimmel-12.png
/home/flora/edvart/docs/schimmel-13.png
/home/flora/edvart/docs/schimmel-1.png
/home/flora/edvart/docs/schimmel-2.png
/home/flora/edvart/docs/schimmel-3.png
只有 GNU
awk
和mawk
(1.3.4 版或更高版本)可以\0
用作记录分隔符,意思是“空字符”。旧版本的mawk
、 BSDawk
、 Busyboxawk
、 Plan 9awk
等都将字符串视为空字符串,即,它启用“段落模式”(两个或多个连续的换行符分隔记录)\0
。RS
RS