Как заменить табуляцию запятой после 3-й позиции табуляции в файле

El comando sedes 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 RESOURCEes 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.

0
21.07.2019, 00:52
2 ответа

Использование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 будет читать строку за строкой из файла. Теперь он напечатает первое второе третье слово как есть, но после четвертого слова он объединит их с запятой.

2
28.01.2020, 02:14

Попробуйте это,

sed -i 's#\t#,#4g' file


100 Apple   COOK    USA,EUROPE,CHINA
200 Micro   BIIL    UK,INDIA
300 Saums   Chul    SK
  • 4g, чтобы заменить табуляцию запятой с 4-го вхождения в каждой строке.
4
28.01.2020, 02:14

Теги

Похожие вопросы