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}'