shell脚本使用ls命令显示选择性属性

shell脚本使用ls命令显示选择性属性,shell,Shell,问题:我必须以给定路径显示文本文件的属性,如大小、权限、所有者、组或全部使用。(使用if-else类似于菜单) 我不知道如何使用ls命令只显示选择性属性,ls-l给出了我不需要的所有内容,然后ls-sh1只给出了大小……有没有办法使用ls-l并只显示其中的某些部分 我的代码: #!/bin/bash echo " enter address in form : /home/rohan/../.." read ARG if [ -n "$ARG" ]; then

问题:我必须以给定路径显示文本文件的属性,如大小、权限、所有者、组或全部使用。(使用if-else类似于菜单)

我不知道如何使用ls命令只显示选择性属性,ls-l给出了我不需要的所有内容,然后ls-sh1只给出了大小……有没有办法使用ls-l并只显示其中的某些部分

我的代码:

#!/bin/bash
echo " enter address in form : /home/rohan/../.."

read ARG

if [ -n "$ARG" ]; then
                        echo "entered path :$ARG"
                echo " files present are"
                     ls -sh1 $ARG"/"*.txt 
else
     ARG=$(pwd)
     echo "Path is :$ARG"
    echo " files present are"
             ls  -sh1 $ARG"/"*.txt 
  fi
输出:仅具有大小的文本文件列表


有没有办法限制ls-l命令?

更好的方法是使用“find”命令

find . -maxdepth 1 -printf '%b\n'
您可以在此处阅读有关格式设置的更多信息:

在以开头的部分

-printf格式为True;在标准输出上打印格式,解释
\'转义和
%'指令。字段宽度和精度可以是
使用“printf”C函数指定为。与-print不同,-printf
不在字符串末尾添加换行符。逃逸和指令
这是一个警铃


更好的方法是使用“find”命令

find . -maxdepth 1 -printf '%b\n'
您可以在此处阅读有关格式设置的更多信息:

在以开头的部分

-printf格式为True;在标准输出上打印格式,解释
\'转义和
%'指令。字段宽度和精度可以是
使用“printf”C函数指定为。与-print不同,-printf
不在字符串末尾添加换行符。逃逸和指令
这是一个警铃

您可以使用该命令

您可以使用该命令


如何仅显示某些属性?选择属性列表,然后修改打印语句:如果要显示字节大小和要使用的文件名:find-maxdepth 1-printf“%p-%b\n”请注意,
maxdepth
printf
都是标准
find
的扩展,可能无法在所有系统上使用。如何仅显示某些属性?请选择属性列表,然后修改print语句:如果要显示字节大小和要使用的文件名:find-maxdepth 1-printf“%p-%b\n”请注意,
maxdepth
printf
都是标准
find
的扩展,可能并非在所有系统上都可用。请显示一些示例输出ls命令只给出大小和文件名。请显示一些示例输出ls命令只给出大小和文件名。