linux - 如何只列出文件名而不是目录中的属性(在 Linux 中)?

标签 linux bash scripting

我正在尝试编写一个 bash 脚本,通过从给定目录中的图像中进行选择来自动更改桌面背景。我面临的问题是,当我尝试使用“ls”命令列出图像时,它还显示了它的属性。有没有一种方法可以只列出文件名而不列出其他属性。

这里,if if TEST_DIR=/home/vivek/Downloads 然后

ls $TEST_DIR/*.jpeg -o $TEST_DIR/*.png -o $TEST_DIR/*.jpg

输出为

-rw-rw-r-- 1 vivek   7221 Sep  5 20:42 /home/vivek/Downloads/viv.jpeg

我只需要输出为“/home/vivek/Downloads/viv.jpeg”。

编辑:

从命令中删除“-o”后,脚本工作正常。

之前我使用“-o”来表示“或”关键字。

但是现在,

ls $TEST_DIR/*.jpeg $TEST_DIR/*.png $TEST_DIR/*.jpg

准确地给出了我需要的输出。谢谢。

最佳答案

您正在将 -o 传递给 ls(两次,甚至)。删除它,因为它意味着:

      -o     like -l, but do not list group information

您也可以将其缩短为:

ls $TEST_DIR/*.{jpeg,png,jpg}

关于linux - 如何只列出文件名而不是目录中的属性(在 Linux 中)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28026209/

相关文章:

windows - windows和linux在网络编程上有多少不同?

c - 从具有 undefined reference 的源 (Ubuntu) 构建 OpenSSL 和 LibCURL

linux - 带线路缓冲的并发 UART 输出

linux - 使用 CSV 文件中的换行符重新格式化项目

php - 如何使用 PHP mysql 通过 cron 作业发送电子邮件

linux - 旧版 Linux 内核不可抢占的原因是什么?

linux - 有没有一种方法可以将bash脚本中的stdout存储到GO中的变量中?

bash - 奇怪的字符 docker exec

testing - 我应该为小任务选择脚本还是编译代码?

java - JRuby 和 Java 对象