ls -l 和 sed 都在打印输出,但我只需要后者即可

ls -l and sed are both printing output but i only need the latter to do so

我必须检查使用 sed 的所有文件中具有 rwx 的用户权限。我做了什么:ls -l | sed '/^-rwx/p' - 这给了我以下输出:

-rwxr--r-- 1 myuser domain users 145 May 16 14:31 1.sh 

-rwxr--r-- 1 myuser domain users 145 May 16 14:31 1.sh

-rwxr--r-- 1 myuser domain users 185 May 16 16:50 2.sh

-rwxr--r-- 1 myuser domain users 185 May 16 16:50 2.sh

-rw-r--r-- 1 myuser domain users  13 May 16 14:31 compiler.c

-rw-r--r-- 1 myuser domain users   2 May 16 14:28 s.txt

我假设 lssed 都在打印它们的输出。使用 grep 它工作正常,只有 returns 1.sh2.sh 是正确的,但在练习中指定使用 sed 完成。

我认为你可以使用 sed 选项 -n

-n, --quiet, --silent
    suppress automatic printing of pattern space 

所以会是ls -l | sed -n '/^-rwx/p'