使用awk打印隐藏的文件和目录

使用awk打印隐藏的文件和目录,awk,ls,Awk,Ls,我有以下命令: ls -l /tmp | awk '$3=="'$USER'" {print $NF}' 它应该打印属于$USER的/tmp下的文件和目录的名称。 它适用于普通文件和目录,但输出不包括属于$USER的隐藏文件和目录 需要什么来修复它?尝试:ls-al/tmp | awk'$3==“$USER'{print$NF}”正确的方法: ls -al /tmp | awk '$3==u {print $NF}' u="$USER" 或 使用ls-laa显示所有文件,包括隐藏的文件。为什

我有以下命令:

ls -l /tmp | awk '$3=="'$USER'" {print $NF}'
它应该打印属于$USER的
/tmp
下的文件和目录的名称。 它适用于普通文件和目录,但输出不包括属于$USER的隐藏文件和目录


需要什么来修复它?

尝试:
ls-al/tmp | awk'$3==“$USER'{print$NF}”
正确的方法:

ls -al /tmp | awk '$3==u {print $NF}' u="$USER"


使用
ls-la
<代码>a显示所有文件,包括隐藏的文件。为什么您认为这是awk问题?如果您运行命令时没有将管道连接到awk,您看到文件了吗?谢谢,效果很好!:)@Barmar Damn,问题是我用
ll
作为
ls-laFq
的别名,我用ls测试awk,用
ll
检查/tmp文件,这误导了我!)变量不应该在代码中读取,而应该声明。很好,这是一个更干净的解决方案!特别是第二种选择:
ls -al /tmp | awk -v u="$USER" '$3==u {print $NF}'