поменять местами текст до и после символа [закрыто]

Simplemente puede crear el directorio var1, mover todos los archivos/carpetas en foo a var1 y finalmente mover var1 dentro de foo

    $ mkdir var1 
    $ mv foo/* var1
    $ mv var1 foo/
1
24.06.2019, 15:48
2 ответа

Использование awkс " = "в качестве разделителя полей и просто перелистывание полей.

awk -F " = " '{OFS=FS;print $2,$1}' file

или используяsed:

sed 's/\(.*\) = \(.*\)/\2 = \1/' file

(используя группы захвата \(...\)и вызывая их в строке замены с помощью \1и\2)

Оба варианта не удаляют табуляцию или пробел в начале строки.

Выход:

Sheets("RECAP").Cells(ligne, 2) =         oReservist.Role
Sheets("RECAP").Cells(ligne, 3) =         oReservist.Surname
Sheets("RECAP").Cells(ligne, 4) =         oReservist.Name

Чтобы сохранить их, вы можете каким-то образом захватить их, например.:

sed 's/\([[:blank:]]*\)\(.*\) = \(.*\)/\1\3 = \2/' file

или убрать пробелы из первого захвата:

sed 's/\([^[:blank:]]*\) = \(.*\)/\2 = \1/' file

Выход:

        Sheets("RECAP").Cells(ligne, 2) = oReservist.Role
        Sheets("RECAP").Cells(ligne, 3) = oReservist.Surname
        Sheets("RECAP").Cells(ligne, 4) = oReservist.Name
4
27.01.2020, 23:17

Попытался использовать следующие 2 метода

питон

#!/usr/bin/python
m=open('filename','r')
for i in m:
    k=i.strip().split('=')
    fi=k[1]
        la=k[0]
        print "{0}={1}".format(fi,la)

выход

Sheets("RECAP").Cells(ligne, 2)=oReservist.Role 
 Sheets("RECAP").Cells(ligne, 3)=oReservist.Surname 
 Sheets("RECAP").Cells(ligne, 4)=oReservist.Name 

Метод 2

awk -F "=" '{print $2"="$1}' y.txt|sed -r "s/\s+//g" 

Sheets("RECAP").Cells(ligne,2)=oReservist.Role
Sheets("RECAP").Cells(ligne,3)=oReservist.Surname
Sheets("RECAP").Cells(ligne,4)=oReservist.Name

правин@правин :~$

0
27.01.2020, 23:17

Теги

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