Remplacer dans le fichier par Huge String (La liste d'arguments est trop longue)

0

J'ai un fichier dans lequel je veux remplacer une chaîne par un énorme littéral de chaîne sous la forme "19209302", "19209329", par exemple 100 000 entrées.

J'utilise sed et j'obtiens une erreur "Argument list to long", alors que si j'utilise 100 entrées, cela fonctionne.

Voici comment j'essaie de faire dans le script shell sed "s / @ devices / $ devices /" active_payload.json où file a une chaîne @device que je tente de remplacer par $ devices une variable contient une énorme chaîne

Comment puis-je résoudre ça?

Riz
la source
Vous pouvez utiliser par exemple awk (meilleur GNU awk). Mais pouvez-vous s'il vous plaît fournir un exemple de source et de cible
Romeo Ninov
avec quel type de programme essayez-vous de rechercher / remplacer? quel est le format de fichier du document?
veritaS
Vous pouvez enregistrer le script sed dans un fichier et l'utiliser sed -f.
Choroba
@ user286332 j'ai modifié ma question
Riz
S'il vous plaît jeter un oeil à la réponse à la cette post. sous 4. Opérations de remplacement multiples: remplacez par des chaînes différentes. Vous y trouverez également une suggestion pour intégrer vos modèles dans les fichiers sed lorsqu'ils sont volumineux.
vérités