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?


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
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.