Se bem entendi, você quer substituir a lista "name" pelo primeiro elemento. Se este for o caso, tente um processador Json:
jq '.name=.name[0]' ex.json
(adaptações para o exemplo completo unpost podem ser necessárias)
Eu preciso substituir o seguinte texto:
"name":["abc1234"], age:"24"
com
"name": "abc1234", age: "24"
Se bem entendi, você quer substituir a lista "name" pelo primeiro elemento. Se este for o caso, tente um processador Json:
jq '.name=.name[0]' ex.json
(adaptações para o exemplo completo unpost podem ser necessárias)
A resposta geral é
man 7 regex
mas especificamente
sed -E 's/"name":\["abc1234"\], age:"24" /"name": "abc1234", age:"24"/g' file > new
ou
sed -E 's/"name" *: *\["([^"]+)"\], *age *: *"([0-9]+)"/"name": "", age:""/g' file > new
grep -E '"name" *: *\[' new
Outra opção seria usar o módulo JSON do Python como em esta resposta SO . Aqui está um exemplo simples:
in.json
{ "name":["abc1234"], "age":"24" }
replaceInJson.py
#!/usr/bin/python3
import json
with open("in.json", "r") as f:
data = json.load(f)
print("Before:", data)
data["name"] = data["name"][0]
print("After: ", data)
Saída
Before: {'name': ['abc1234'], 'age': '24'}
After: {'name': 'abc1234', 'age': '24'}
Tags text-processing sed json