Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.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 在linux中,在文件B中的行可以增加或减少的情况下,如何查找并合并从一个文件B到另一个文件A的特定行 文件A:_Shell_Unix_Scripting - Fatal编程技术网

Shell 在linux中,在文件B中的行可以增加或减少的情况下,如何查找并合并从一个文件B到另一个文件A的特定行 文件A:

Shell 在linux中,在文件B中的行可以增加或减少的情况下,如何查找并合并从一个文件B到另一个文件A的特定行 文件A:,shell,unix,scripting,Shell,Unix,Scripting,abc 卡介苗 def ghi jkl 文件B: 卡介苗 def 荷航 期望输出: abc 卡介苗 def 荷航 ghi jkl试试这个awk一行: awk '!a[$0]++' fileA fileB > output 它适用于您的示例文件。cat A B | sort-u将删除重复的文件并进行排序,@Kent的anwser更优雅,但输出仍然不满足您的描述。好吧,您应该向我们展示您首先尝试过的内容,而不是期望我们为您完成所有的工作。但有一点。。。输出的顺序没有意义。Wy“klm”会出现

abc

卡介苗

def

ghi

jkl

文件B: 卡介苗

def

荷航

期望输出: abc

卡介苗

def

荷航

ghi


jkl

试试这个awk一行:

awk '!a[$0]++' fileA fileB > output

它适用于您的示例文件。

cat A B | sort-u将删除重复的文件并进行排序,@Kent的anwser更优雅,但输出仍然不满足您的描述。

好吧,您应该向我们展示您首先尝试过的内容,而不是期望我们为您完成所有的工作。但有一点。。。输出的顺序没有意义。Wy“klm”会出现在“def”和“ghi”之间吗?嗨,这不会有任何问题。但是如果我需要将abc和jkl保存在文件A中,并且只想将它们之间的行替换为文件B中的行。因为文件B的输出不断变化。@Deepak抱歉,我不明白。