如何使用shell脚本将两个文本文件合并为一个特定格式的文本文件?
我正在尝试将两个文件合并为一个具有特定格式的文件,这些文件包含以下内容: fileA.txt: 二, 一, 一, fileB.txt: 0023412322 1241231132 1234411177 因此,输出应为: fileC.txt: A B 2002341322 1241231132 1234411177 其中A和B表示列的名称,也构成输出文件的初始行 该脚本应该在Solaris上运行,但我对awk指令也有问题,我不允许在系统上更改或安装任何内容。现在我有了一个使用循环的解决方案,但效率不高,因为脚本在处理大文件时花费的时间太长。除了使用awk指令和循环,还有什么建议吗 我无法使用awk指令,因此我没有awk指令,只有循环: echo“A B”>fileC.txt i=如何使用shell脚本将两个文本文件合并为一个特定格式的文本文件?,shell,text-files,solaris,Shell,Text Files,Solaris,我正在尝试将两个文件合并为一个具有特定格式的文件,这些文件包含以下内容: fileA.txt: 二, 一, 一, fileB.txt: 0023412322 1241231132 1234411177 因此,输出应为: fileC.txt: A B 2002341322 1241231132 1234411177 其中A和B表示列的名称,也构成输出文件的初始行 该脚本应该在Solaris上运行,但我对awk指令也有问题,我不允许在系统上更改或安装任何内容。现在我有了一个使用循环的解决方案,
echo 1
对于cat fileA.txt中的行
do
VAR=`sed -n "$i"',1p' fileB.txt`
echo "$line $VAR" >> fileC.txt
echo "$VAR" >> file"$line".txt #Another neccesary command for the script
i=`expr $i + 1`
完成
我应该做什么更改?粘贴
是一个非常方便的程序,除了打印文件名或写入文件之外,它几乎完全可以完成您想要的操作。我编写了这个简单的shell脚本来添加文件名:
echo -e "$1\t$2" # print the filenames separated by a tab
paste $1 $2
您可以通过使用chmod
使其可执行,然后运行/myscript file1 file2
(假设您将脚本命名为myscript
)。如果要写入第三个文件,可以执行/myscript file1 file2>file3
请注意,在编写时,每个文件的内容由选项卡分隔。如果希望它们之间用空格分隔,可以使用以下脚本:
echo "$1 $2"
paste -d" " $1 $2
请告诉我们您已经尝试过的(awk和循环)现在的问题是什么