如何只列出文件名而不列出目录中的属性(in Linux)?
How to list only the file names and not its attributes in a directory( in Linux)?
我正在尝试编写一个 bash 脚本,通过从给定 directory.The 中的图像中进行选择来自动更改桌面背景 我面临的问题是,当我尝试使用 "ls" 命令来列出图像,它还显示它的 attributes.Is 有一种方法,我只能列出文件名和它的其他属性的 none。
这里,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”来表示 "or" 关键字。
但是现在,
ls $TEST_DIR/*.jpeg $TEST_DIR/*.png $TEST_DIR/*.jpg
准确地给出了我需要的输出。谢谢
试试这个,使用 cut
命令如下;
ls $TEST_DIR/*.{jpeg,png,jpg}|cut -d':' -f2|cut -d' ' -f2
它将使用 :
和 space 排除不需要的文本以查找结果。
它会给你这个输出:
/home/vivek/Downloads/viv.jpeg
你的 ls
可能是 aliased 的东西。看看打印出来的内容:
$ alias ls
它在脚本中应该可以正常工作,因为默认情况下会忽略别名。
您将 -o
传递给 ls
(两次,偶数)。删除它,因为它意味着:
-o like -l, but do not list group information
您也可以将其缩短为:
ls $TEST_DIR/*.{jpeg,png,jpg}
我正在尝试编写一个 bash 脚本,通过从给定 directory.The 中的图像中进行选择来自动更改桌面背景 我面临的问题是,当我尝试使用 "ls" 命令来列出图像,它还显示它的 attributes.Is 有一种方法,我只能列出文件名和它的其他属性的 none。
这里,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”来表示 "or" 关键字。
但是现在,
ls $TEST_DIR/*.jpeg $TEST_DIR/*.png $TEST_DIR/*.jpg
准确地给出了我需要的输出。谢谢
试试这个,使用 cut
命令如下;
ls $TEST_DIR/*.{jpeg,png,jpg}|cut -d':' -f2|cut -d' ' -f2
它将使用 :
和 space 排除不需要的文本以查找结果。
它会给你这个输出:
/home/vivek/Downloads/viv.jpeg
你的 ls
可能是 aliased 的东西。看看打印出来的内容:
$ alias ls
它在脚本中应该可以正常工作,因为默认情况下会忽略别名。
您将 -o
传递给 ls
(两次,偶数)。删除它,因为它意味着:
-o like -l, but do not list group information
您也可以将其缩短为:
ls $TEST_DIR/*.{jpeg,png,jpg}