Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/15.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
在Bash脚本中使用AWK并在第二个文件位于另一个文件夹的位置追加两个文件_Bash_Awk - Fatal编程技术网

在Bash脚本中使用AWK并在第二个文件位于另一个文件夹的位置追加两个文件

在Bash脚本中使用AWK并在第二个文件位于另一个文件夹的位置追加两个文件,bash,awk,Bash,Awk,我有两个文件: file1.txt: samplefolder_appendtext.txt [ 1.23 34.2 12.4 5.34 56.3 12.2 24.1 1.42 21.4 1.24 42.1 12.4 12.4 56.5 2.53 1.24 4.64 2.23 1.42 1.42 1.45 12.4 45.2 12.4 35.2 ] appendtext.txt: 1.12 34.1 12.4 53.1 12.3 12.4 45.2 23.2 12.4 34.1

我有两个文件:

file1.txt:

samplefolder_appendtext.txt [ 

1.23 34.2 12.4 5.34 56.3

12.2 24.1 1.42 21.4 1.24

42.1 12.4 12.4 56.5 2.53

1.24 4.64 2.23 1.42 1.42

1.45 12.4 45.2 12.4 35.2 ]
appendtext.txt:

1.12 34.1 12.4 53.1

12.3 12.4 45.2 23.2

12.4 34.1 34.5 56.3

12.2 34.2 12.3 34.2 

12.4 34.2 12.4 12.1
第二个文件位于“samplefolder”文件夹中

如何使用AWK获得如下输出文件

samplefolder_appendtext.txt [

1.23 34.2 12.4 5.34 56.3 1.12 34.1 12.4 53.1

12.2 24.1 1.42 21.4 1.24 12.3 12.4 45.2 23.2

42.1 12.4 12.4 56.5 2.53 12.4 34.1 34.5 56.3

1.24 4.64 2.23 1.42 1.42 12.2 34.2 12.3 34.2 

1.45 12.4 45.2 12.4 35.2 12.4 34.2 12.4 12.1 ]

在这里,一个简单的
粘贴
命令可能会有所帮助

paste file1.txt  appendtext.txt

考虑到您的两个输入文件,比如说
file1
file2
,正如RavinderSingh13所回答的那样,
paste
命令将执行如下所示的技巧:

$ cat file1 
samplefolder_appendtext.txt [ 

1.23 34.2 12.4 5.34 56.3

12.2 24.1 1.42 21.4 1.24

42.1 12.4 12.4 56.5 2.53

1.24 4.64 2.23 1.42 1.42

1.45 12.4 45.2 12.4 35.2 ]

$ cat file2
1.12 34.1 12.4 53.1

12.3 12.4 45.2 23.2

12.4 34.1 34.5 56.3

12.2 34.2 12.3 34.2 

12.4 34.2 12.4 12.1

$ (head -2 file1; paste -d' ' <(sed '1,2d;s/ ]//g' file1) file2) | sed '$s/$/ ]/'
samplefolder_appendtext.txt [ 

1.23 34.2 12.4 5.34 56.3 1.12 34.1 12.4 53.1

12.2 24.1 1.42 21.4 1.24 12.3 12.4 45.2 23.2

42.1 12.4 12.4 56.5 2.53 12.4 34.1 34.5 56.3

1.24 4.64 2.23 1.42 1.42 12.2 34.2 12.3 34.2 

1.45 12.4 45.2 12.4 35.2 12.4 34.2 12.4 12.1 ]
$cat文件1
samplefolder_appendtext.txt[
1.23 34.2 12.4 5.34 56.3
12.2 24.1 1.42 21.4 1.24
42.1 12.4 12.4 56.5 2.53
1.24 4.64 2.23 1.42 1.42
1.45 12.4 45.2 12.4 35.2 ]
$cat文件2
1.12 34.1 12.4 53.1
12.3 12.4 45.2 23.2
12.4 34.1 34.5 56.3
12.2 34.2 12.3 34.2 
12.4 34.2 12.4 12.1

$ (head-2 file1;paste-d''欢迎使用堆栈溢出,请将您的示例包装在代码标记中。Unix及其命令不关心文件位于哪个文件夹中。如果您位于/your/dir中,并且希望访问/your/dir/subdir/file您可以将其称为subdir/file/your/dir/subdir/file。/dir/subdir/file
或任何其他相对路径。请将您的问题告诉我们您尝试了什么。但这并没有给出所需的结果output@NarsimhaKethiri,请花些时间在你的文章中用代码标签编辑你的输出,没有代码标签,不管它看起来像什么,我根据它给出了解决方案。你可以看到
{}
在编辑文章时单击按钮。@RavinderSingh13:+1,我同意粘贴对于这项任务来说已经足够了。