найти текст в файле, а затем, если найден, взять слово в той же строке и вставить в код - PullRequest
0 голосов
/ 15 апреля 2019

Я хочу вставить первое слово из file.txt, когда оно совпадает со строкой в ​​моих документах, у меня примерно 500 таких документов, поэтому было бы неплохо, если бы это работало

file.txt выглядит так:

test1 t1
test2 t2
test3 t3

это мой код

code="t1"

sed -i -e 's/^/Name="$code" /'

это приведет к

code="t1"

sed -i -e 's/^/Name="t1" /'

это то, что я хочу для окончательного вывода во всех моих документах:

document1.txt

code="t1"

sed -i -e 's/^/Name="test1" /'

document2.txt

code="t2"

sed -i -e 's/^/Name="test2" /'

1 Ответ

0 голосов
/ 15 апреля 2019

Я не совсем понимаю ваше требование.Если вы не можете извлечь первое слово в зависимости от второго слова, а затем выполнить некоторые операции со строками, может помочь следующее:

file.txt content:

test1 t1
test2 t2
test3 t3

Извлечь первое слово, учитываявторое слово:

second="t1"                                       # change this for a different match
first=$(sed -n "s/\(.*\) $second/\1/p" file.txt)  # now $first is "test1"
echo "first word is ${first} and blah..."         # write it to a file or do anything you need here
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...