如何在bash中组合ls的输出前缀?

2024-04-20 13:40:56 发布

您现在位置:Python中文网/ 问答频道 /正文

假设在父目录中有一些图像:../imagea/a.png和../images/b.png。在

当我这样做的时候:

ls ../images

# I get
../images/a.png
../images/b.png

如何为所有这些输出添加前缀![](和后缀)?在

我试过了:

^{pr2}$

所需输出

![](../images/a.png)
![](../images/b.png)

感谢帮助。在


Tags: 图像目录getpng后缀lsimagespr2
3条回答

最简单的解决方案是使用标准posix find命令和printf操作,如下所示:

 find ../images -name "*.png" -printf '![](%p)\n'

说明:

../images-目标目录

"*.png"-球状图案

-printf-格式化要输出的操作

'![](%p)\n'-格式化参数以输出完整路径名。在

示例:

^{pr2}$

请你试试下面的。在

awk 'BEGIN{for(i=1;i<ARGC;i++)print "![](..",ARGV[i]")"}' ../images/*.png

输出如下(其中a、b、c。。。.png是我为测试目的创建的测试文件)。在

^{pr2}$

在glob图案上循环,并按需要打印每行格式:

for filename in ../*.png; do echo '!'"[]($filename)"; done

相关问题 更多 >