Unix: как заменить шаблон каждой строкой из другого файла - PullRequest
0 голосов
/ 03 июля 2018

У меня есть файл с именем fileA, содержащий

comA comB comC

затем другой файл с именем fileB, содержащий

for bp in `pgrep REPLACE_IT`;
do
echo 1 > /proc/REPLACE_IT/oom_adj
echo 1 > /proc/$bp/oom_score_adj
done 2>/dev/null

Как заменить каждое слово REPLACE_IT в fileB каждым словом в fileA, а затем вывести результат в fileC?

Желаемый вывод в fileC:

for bp in `pgrep comA`;
do
echo 1 > /proc/comA/oom_adj
echo 1 > /proc/$bp/oom_score_adj
done 2>/dev/null
for bp in `pgrep comB`;
do
echo 1 > /proc/comB/oom_adj
echo 1 > /proc/$bp/oom_score_adj
done 2>/dev/null
for bp in `pgrep comC`;
do
echo 1 > /proc/comC/oom_adj
echo 1 > /proc/$bp/oom_score_adj
done 2>/dev/null

Спасибо за любой совет

1 Ответ

0 голосов
/ 03 июля 2018

что-нибудь подобное сделает свое дело?

for i in $(cat fileA); do
    sed 's|REPLACE_IT|'$i'|g' <fileB >temp
    cat temp >> fileC
done
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...