我这里有两个要求:
我有一个类似于imp_1的变量,其值如下所示:
DI_DGF_PP_Cust_support
DI_DGF_PP_Call_Detail
DI_DGF_PP_Area我想要"_“i.e上第三个实例的值
Cust_support
Call_Detail
Area我正在使用下面的工具,但它不起作用。
imp_2=`awk -F _ '{print $4}'` "$imp_1"另外,
我想在其他变量imp_2中查找$imp_3- $imp_2的值。(减去结果)
前任:
$imp_2-
Cust_support
Call_Detail
Area$imp-3
Cust_support
Call_Detail
Area
Call_detail
Finance_Detail
Marketing_Analysis所以$imp_3 -$imp_2
Call_detail
Finance_Detail
Marketing_Analysis检查了以下内容:
comm -3 <(echo "SDH") <(echo "ADP_DATA")结果:
ADP_DATA
SDH发布于 2019-08-30 12:34:36
除了使用awk之外,使用cut要简单得多。只需定义分隔符和要解析的字段数。
imp_2=$(printf '%s\n' "$imp_1" | cut -d_ -f4-)
printf '%s\n' "$imp_2"对于imp_3 - imp_2,即两个变量之间的非唯一行,使用comm实用程序
comm -3 <(echo "$imp_3") <(echo "$imp_2")发布于 2019-09-01 16:18:47
下面是我为imp1尝试的尝试
echo $imp_1|awk -F "_" '{$1=$2=$3="";print $0}' |sed -r "s/^\s+//g"|sed -r "s/\s+$//g"|sed "s/ /_/g"输出
Cust_support
Call_Detail
Areahttps://unix.stackexchange.com/questions/538260
复制相似问题