小编Use*_*123的帖子

反引号内的引号 ksh 中的引号内

我正在尝试在 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)

有什么建议?

ksh hp-ux quoting timestamps

5
推荐指数
2
解决办法
1914
查看次数

在 Linux 中获取当前日期的文件?

通常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 日的正确输出。

linux date timestamps files

5
推荐指数
1
解决办法
1万
查看次数

匹配 if 条件中不区分大小写的模式

一个文件中可能有以下两种情况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)

我需要检查两者是否V1V2任何给定时间都不相同。 V1并且V2也可以分配任何数字。

我正在使用下面的代码,但在第二种情况下失败:whenV1=lastV2=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)

非常欢迎任何帮助!提前致谢!

linux bash pattern-matching

2
推荐指数
1
解决办法
5500
查看次数

在 case 语句中匹配有效的版本号

我想在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)

bash regular-expression case pattern-matching

1
推荐指数
2
解决办法
317
查看次数