У меня есть файл, содержащий,

{"value":true,"message":"fail","timestamp":1445956265,"data":"off

"value":true,"message":"error","timestamp":1445956265,"data":"off"}

Я хочу выделить более двух строк между фигурными скобками, исключив { и }

Ожидаемый результат должен быть таким,

"value":true,"message":"fail","timestamp":1445956265,"data":"off

"value":true,"message":"error","timestamp":1445956265,"url":"off"

Я использую для этого сценарий оболочки. как это можно сделать ...?

-1
Abhishek Nehe 28 Окт 2015 в 09:41

2 ответа

Лучший ответ

Awk

awk 'sub("[{}]","")' filename
0
bian 28 Окт 2015 в 06:45

Пытаться:

#!/bin/bash
FILE="temp.txt"
if [[ ! -f $FILE ]]; then
        echo "File not found: $FILE"
        exit 1
fi
out=$(awk 'sub("[{}]","")' $FILE | grep '"value":true')
if [[ ! -z $out ]]; then
        for i in $out; do
                echo "i= $i"
        done
fi
0
Noproblem 28 Окт 2015 в 07:30