假设我在父目录中有一些图像:../imagea/a.png和../images/b.png。
当我这样做时:
ls ../images
# I get
../images/a.png
../images/b.png
如何为所有这些输出添加前缀
![](
和后缀)
?我试过:
!ls ../images/*.png | cat
# am not sure what to do next
所需输出
![](../images/a.png)
![](../images/b.png)
感谢您的帮助。
最佳答案
最简单的解决方案是使用标准posixfind
命令,并执行如下操作:
find ../images -name "*.png" -printf '![](%p)\n'
说明:
printf
-目标目录../images
-全局模式"*.png"
-格式化要输出的操作-printf
-格式化参数以输出完整路径名。例子:
$ ls -l
total 8
drwxrwxr-x. 3 cfrm cfrm 15 Dec 13 2018 app
drwxrwxr-x. 2 cfrm cfrm 23 Mar 24 2019 app_5811_install
drwxrwxr-x. 13 cfrm cfrm 4096 Dec 12 2018 app_58_install
drwxrwxr-x. 2 cfrm cfrm 4096 Oct 3 2018 grants
-rwx------. 1 cfrm cfrm 526 Feb 17 2019 ic_start_all.sh
-rwx------. 1 cfrm cfrm 920 Oct 4 2018 ic_status_all.sh
-rwx------. 1 cfrm cfrm 984 Sep 27 2018 ic_stop_all.sh
-rwxrwxr-x. 1 cfrm cfrm 1693 Dec 13 2018 loadTrigger.sh
$ find . -name "*.sh" -printf '![](%p)\n'
![](./ic_stop_all.sh)
![](./ic_status_all.sh)
![](./loadTrigger.sh)
![](./ic_start_all.sh)