我正在尝试在 HP-UX Unix 中使用以下命令获取当前日期的文件:
$ ls -lrt ABC.LOG* |grep "`date +"%b %d"`"
Run Code Online (Sandbox Code Playgroud)
但是,它给了我错误:
ksh: : cannot execute
grep: can't open %d
Run Code Online (Sandbox Code Playgroud)
有什么建议?
通常date +%d给出08当前日期 08/10/2017的输出。但是当我ls -lrt在路径上执行时,日期格式就像Oct 8 15:03,那么,我如何获取当前日期的文件?
我正在使用命令
ls -lrt XYZ.LOG* |grep "$(date +'%b %d')" |awk '{print $9}'
Run Code Online (Sandbox Code Playgroud)
但它没有给我今天日期(08/10/2017)的文件,尽管它给了我任何一个月的 10 - 31 日的正确输出。
一个文件中可能有以下两种情况a.txt::
情况1:
V1=last #case insensitive
V2=Last #case insensitive
Run Code Online (Sandbox Code Playgroud)
案例2:
V1=last #case insensitive
V2=LastNum #case insensitive
Run Code Online (Sandbox Code Playgroud)
我需要检查两者是否V1在V2任何给定时间都不相同。
V1并且V2也可以分配任何数字。
我正在使用下面的代码,但在第二种情况下失败:whenV1=last和 V2=LastNum。情况 2 的预期输出是:Not Same。
if [[ ( "${V1}" =~ [Ll][Aa][Ss][Tt] && "${V2}" =~ [Ll][Aa][Ss][Tt]$ ) || ( "${V1}" == "${V2}" ) ]];then
echo "V1 and V2 are same"
else
echo "Not Same"
fi
Run Code Online (Sandbox Code Playgroud)
非常欢迎任何帮助!提前致谢!
我想在case语句中匹配一个版本号。版本号可能如下所示
1.12.0.32
1.12.0.32.1
2.10.0.30.1.2
Run Code Online (Sandbox Code Playgroud)
并存储在一个 shell 变量中:version.
正如我在互联网上搜索的那样,在 -case语句中匹配正则表达式并不困难。但是,有没有人有想法或可以帮助说明如何在case-statement 中完成?
我尝试了以下方法,但没有奏效:
1.12.0.32
1.12.0.32.1
2.10.0.30.1.2
Run Code Online (Sandbox Code Playgroud)