El comando sed
es mejor.
sed -i 's/RESOURCE=Lnreddy37@gmail.com/RESOURCE=reddy17777@gmail.com/' yourfile
Lo anterior funciona en mi prueba, pero si quieres probarlo por ti mismo, puedes probar este primero:
sed 's/RESOURCE=Lnreddy37@gmail.com/RESOURCE=reddy17777@gmail.com/' yourfile
Eso escribirá los cambios en la salida estándar sin afectar el archivo.
De cualquier manera, le da el cambio deseado de:
RESOURCE=reddy17777@gmail.com
Si el valor de RESOURCE
es diferente en el archivo y desea cambiarlo por algo diferente, entonces:
grep RESOURCE= yourfile
Eso devolverá la línea donde está y mostrará el valor.
A continuación, puede utilizar
sed 's/RESOURCE=existingemail@gmail.com/RESOURCE=emailyouwant@gmail.com/' yourfile
Para futuras referencias, es importante aclarar todo esto en su pregunta original para que pueda obtener la ayuda que necesita sin todo este galimatías.
Использованиеawk
:
awk 'BEGIN{OFS=IFS=" ";}{for(i=5;i<=NF;i++){$4=$4","$i;} print $1,$2,$3,$4}' file
Вывод для вашего случая будет:
100 Apple COOK USA,EUROPE,CHINA
200 Micro BIIL UK,INDIA
300 Saums Chul SK
Команда awk будет читать строку за строкой из файла. Теперь он напечатает первое второе третье слово как есть, но после четвертого слова он объединит их с запятой.
Попробуйте это,
sed -i 's#\t#,#4g' file
100 Apple COOK USA,EUROPE,CHINA
200 Micro BIIL UK,INDIA
300 Saums Chul SK
4g
, чтобы заменить табуляцию запятой с 4-го вхождения в каждой строке.