Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/shell/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Shell Unix:如何用另一个文件中的每个字符串替换模式_Shell_Unix_Command Line - Fatal编程技术网

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

Shell Unix:如何用另一个文件中的每个字符串替换模式,shell,unix,command-line,Shell,Unix,Command Line,我有一个名为fileA的文件,包含 comA comB comC 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 然后是另一个名为fileB的文件,其中包含 comA comB comC for bp in `pgrep REPLACE_IT`; do echo 1 > /proc/

我有一个名为
fileA
的文件,包含

comA comB comC
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
然后是另一个名为
fileB
的文件,其中包含

comA comB comC
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
如何用
fileA
中的每个单词替换
fileB
中的每个单词,然后将结果打印到
fileC

文件C中所需的输出:

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

谢谢你的建议像这样的东西能奏效吗

for i in $(cat fileA); do
    sed 's|REPLACE_IT|'$i'|g' <fileB >temp
    cat temp >> fileC
done
以美元为单位的i的
(cat文件a);做
sed的|替换|它|‘$i’| g’温度
cat temp>>文件C
完成

你的技巧几乎接近我的目标,我只是稍微适应了我的目标。你救了我一天