Apending некоторый специальный символ в файле

У меня есть один файл. Я хочу добавить ' в строке Эври beginning.also после первого слова, завершенного, я хочу поместить ' снова и затем , после этого я хочу повторение то же первое слово в 'same word'. Как я могу сделать это?

например.

abc
xyz
pqr
mno

будет преобразован в

'abc','abc'
'xyz','xyz'
'pqr','pqr'
'mno','mno'

У меня есть тысячи таких строк. Как я могу достигнуть этого? Я использую человечность 16.04.

Я становлюсь произведенным как показано ниже.

enter image description here

То, что я хочу:

enter image description here

С уважением.

4
задан 2 May 2017 в 16:42

2 ответа

Используйте sed:

sed "s/.*/'&','&'/" filename

s/foo/bar замены foo bar. .* соответствия целая строка, & в заменяющем разделе вставляет целое соответствие.

8
ответ дан 1 December 2019 в 08:59

Вы уже получили a sed ответ. Вот несколько альтернатив:


awk: Установка одинарной кавычки как переменная q (для удобочитаемости) и out как запись, окруженная одинарными кавычками, затем печатая out с желаемым форматированием:

awk -v q="'" '{out=q$0q; print out","out}'

bash: Чтение каждой строки, настраивая переменную out содержать строку, окруженную одинарными кавычками, и наконец печатающий в нужном формате:

while IFS= read -r line; do out="'$line'"; printf '%s,%s\n' "$out" "$out"; done

python: Чтение каждой строки и печать в использовании нужного формата print() функция:

#!/usr/bin/env python3
with open('file.txt') as f:
    for line in f:
        line = line.rstrip()
            print("'{}','{}'".format(line, line))

perl: Замена каждой строки (.*) с надлежащим форматированием, $& в замене обозначает подобранную часть, в этом случае целая строка:

perl -pe "s/.*/'$&','$&'/" 

Пример:

% cat file.txt 
abc
xyz
pqr
mno

% awk -v q="'" '{out=q$0q; print out","out}' file.txt
'abc','abc'
'xyz','xyz'
'pqr','pqr'
'mno','mno'

% while IFS= read -r line; do out="'$line'"; printf '%s,%s\n' "$out" "$out"; done <file.txt
'abc','abc'
'xyz','xyz'
'pqr','pqr'
'mno','mno'

% perl -pe "s/.*/'$&','$&'/" file.txt
'abc','abc'
'xyz','xyz'
'pqr','pqr'
'mno','mno'
2
ответ дан 1 December 2019 в 08:59

Другие вопросы по тегам:

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