J'ai deux listesboucle pour remplacer la chaîne par autre dans un fichier différent
list1:
A:1
B:3
C:1
D:5
liste2:
1:blue
3:green
5:red
Comment puis-je faire pour avoir quelque chose comme:
sortie désiré (fichier3):
A:blue
B:green
C:blue
D:red
Et voici mon code désoeuvrement ...
#!/system/bin/bash
list1=$(cat file1)
list2=$(cat file2)
for i in "$list1"; do
num_file1=$(echo $i | cut -d ":" -f 2)
string_file2=$(cat $list2 | grep "$num_file1" | cut -d ":" -f 2)
echo -e "$i" | sed "s/$num_file1/$string_file2/" > list3
done
J'ai essayé aussi sed 's/"$num_file1"/"$string_file2"/'
et beaucoup d'autres, mais a échoué chaque fois pour ce que je veux .. Où je suis fatigué avec sed ??
Ps: son sur Android ... et quelques commandes sont embué ...
Mettez 'num_file1 = ...' et la ligne suivante dans la boucle. – PeterMmm
@PeterMmm j'ai essayé mais ne fonctionne toujours pas ... –
sed: inégalé '/' –