переставить данные - PullRequest
       14

переставить данные

0 голосов
/ 30 октября 2008

Если у меня есть список данных в текстовом файле, разделенных новой строкой, есть ли способ добавить что-то в начало, затем данные, затем добавить что-то еще, затем снова данные?

Например, поле X станет новым X = X;

Можете ли вы сделать это с помощью bash или sed или просто с помощью таких инструментов unix, как cut?

EDIT:

Я пытаюсь получить "ITEM_SITE_ID: {$ row ['ITEM_SITE_ID']}
".

Я использую эту строку awk '{print "\" "$ 1" {: $ row [' $ 1 ']}
"}'

И я получаю это "ITEM_SITE_ID {: $ row []}

Что я пропустил?

Ответы [ 2 ]

1 голос
/ 30 октября 2008

Я думаю, что проблема в том, что ваши одинарные кавычки не экранированы должным образом, что на самом деле невозможно.

С седом:

sed "s/\(.*\)/\1 = \1;/"

Или в вашем случае:

sed "s/\(.*\)/\"\1 :{\$row['\1']}\"/"

и с bash:

while read line
do
    echo "\"$line :{\$row['$line']}\""
done

И на самом деле вы можете сделать это в awk, используя строки bashes $ '':

awk $'{ print "\\"" $1 " :{$row[\'" $1 "\']}\\"" }'
1 голос
/ 30 октября 2008

Awk часто является идеальным инструментом для подобных задач. Для вашего конкретного примера:

awk '{ print "new " $1 " = " $1 ";" }'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...