我有一个代码,其中包含以下行:
old_fil=`ls -lt [!_]*xyz* 2> /dev/null | grep -v ^total | tail -1 | awk '{print $9}'`
您能解释[!_]
中2
和ls -lt
的含义吗?
答案 0 :(得分:2)
[..]
匹配内部列出的任何字符。
但如果第一个字符是^
或!
,则它匹配任何不在指定字符中的字符。 [!_]
匹配不是_
的字符。
以下命令列出名称不以_
开头的文件(它应与字符匹配)并包含xyz
:
ls [!_]*xyz*
2
中的 2>
表示文件描述符。 (0 =标准输入,1 =标准输出,2 =标准误差)。
通过附加2> /dev/null
,该命令生成的错误消息将被丢弃。