我怎么切弦

时间:2019-08-05 06:56:30

标签: bash command cut

这是我的日志文件

 
Started by user [[^8mha:////4Ogh/8s/t6WCscPP1xh6+eb52nXryfTykwZL/ZyDxeq/AAAAlx+LCAAAAAAAAP9b85aBtbiIQTGjNKU4P08vOT+vOD8nVc83PyU1x6OyILUoJzMv2y+/JJUBAhiZGBgqihhk0NSjKDWzXb3RdlLBUSYGJk8GtpzUvPSSDB8G5tKinBIGIZ+sxLJE/ZzEvHT94JKizLx0a6BxUmjGOUNodHsLgAzWEgZu/dLi1CL9xJTczDwAj6GcLcAAAAA=^[[0madmin

我的代码

echo "Job User= $(cat /home/kaanmrzl/log.txt | grep "Started by user" | cut -d"[" -f5 )"

输出

 Job User= 0madmin 

我想要的是输出`

 Job User= admin 

3 个答案:

答案 0 :(得分:1)

请尝试以下操作(如果对awk没问题,请使用给定的示例进行测试)。

awk -F"\\[\\[" '/^Started by user/{print substr($3,3)}'  Input_file

此代码从第三个字段中删除前2个字符,该字段由[[代码的awk设置为-F

答案 1 :(得分:1)

您的意思是这样的:

echo "Job User= $(sed '/^Started by user/s/.*=^\[\[0m//' /home/kaanmrzl/log.txt)"

答案 2 :(得分:0)

使用您的代码,您只需要再添加一行:

CORE=$(echo $(cat /home/kaanmrzl/log.txt | grep "Started by user" | cut -d"[" -f5 ))
IDUSER=$(echo "Job User =" ${CORE:2})