Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex 使用bashscript隔离内容_Regex_Bash - Fatal编程技术网

Regex 使用bashscript隔离内容

Regex 使用bashscript隔离内容,regex,bash,Regex,Bash,我有一个终端命令的输出: -rw-r----- 1 root root 908008 2014 07 02 zypper.log 我只需要隔离日期部分,这样我就可以在自定义消息中将其提供给系统日志。 我尝试将输出转换为数组,但没有成功,sed正则表达式只匹配整行,而不是我需要的特定部分。 以下是我到目前为止的情况: #!/bin/sh cd cd /var/log destdir=/home/daka/Desktop/temp_date.txt IFS=$'\n' arr=(

我有一个终端命令的输出:

-rw-r----- 1 root root      908008 2014 07 02 zypper.log
我只需要隔离日期部分,这样我就可以在自定义消息中将其提供给系统日志。 我尝试将输出转换为数组,但没有成功,sed正则表达式只匹配整行,而不是我需要的特定部分。 以下是我到目前为止的情况:

#!/bin/sh

cd
cd /var/log

destdir=/home/daka/Desktop/temp_date.txt

IFS=$'\n'
arr=( $(ls -l --time-style=+%Y' '%m' '%d |  grep 'zypper') )
unset IFS
if [ -f "$destdir" ]
then 
    echo "$arr" > "$destdir"
fi

知道如何将$6$7和$8转换为变量或至少是数组元素吗?当我使用varr=
ls-l--time style=+%Y'%m'%d | grep'zyper''awk'{print$6,$7,$8}'
arr=($varr)echo“$varr”>“$destdir”它只给我2014(第一个元素)
arr=$(ls-l--time style=+%Y'%m'%d | grep'zyper'{awk'{print$6,$7,$8')
ls -l --time-style=+%Y' '%m' '%d |  grep 'zypper' | awk '{print $6,$7,$8}'