Unix:如何用另一个文件中的每个字符串替换模式

时间:2018-07-03 11:21:30

标签: shell unix command-line

我有一个名为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 :(得分:0)

这样可以解决问题吗?

for i in $(cat fileA); do
    sed 's|REPLACE_IT|'$i'|g' <fileB >temp
    cat temp >> fileC
done