Ce problème se produit uniquement dans le conteneur Docker.
Seul find
est bien:
find ${BASIN_SPIDER_CONFIG_PATH} -type f -name "*.json"
find
avec sed
find ${BASIN_SPIDER_CONFIG_PATH} -type f -name "*.json"|xargs sed -i "s/10.142.55.199/host02/g"
donne une erreur:
/xxx/config/sed8Ey5tD: Device or resource busy
Je ne comprends pas ce que c'est sed8Ey5tD
, je ne le ls
vois pas. Je pense que c'est par docker, mais je ne peux pas le comprendre.
Comment sed
réussir?
OK, j'ai trouvé que le fichier était volumineux par docker, il y volumes: /xxx/config.json : /xxx/config/config.json
en a docker-compose.yml
. Après docker-compose down
, le fichier peut être édité. Mais comment puis-je modifier le fichier sans docker-compose down
?
sed
à ne pas créer de fichier de sauvegarde xargs sed -i'' "s/10.142.55.199/host02/g"
(ajoutez des guillemets simples juste après la -i
clé)
sed
. Lorsque vous effectuez une modification sur place,sed
crée un fichier temporaire sur lequel travailler pour éviter de corrompre votre original. Si quelque chose s'est bien passé, il remplace l'original par un temporaire. Mais quelle est ta question? Vous voulez savoir quelle est la cause de cette erreur ou quel est lesed8Ey5tD
fichier?