我想合并两个文件并输出。
所以file1.txt和file1.txt合并。
但是,file1.txt列被附加到末尾。
$ cat file0.txt
Name: vSwitch0 MTU: 1500 Uplinks: vmnic0 Portgroups: VM Network, Management Network
Name: vSwitch1 MTU: 1500 Uplinks: vmnic1 Portgroups: VM Network 2
Name: vSwitch2 MTU: 1500 Uplinks: vmnic2 Portgroups: VM Network 3
$ cat file1.txt
vmnic2 nvmxnet3 Down 0 half
vmnic0 nvmxnet3 Up 10000 full
vmnic1 nvmxnet3 Up 10000 full
$ awk 'NR==FNR { temp[FNR]=$2 FS $3 FS $4 FS $5; next }; {print ($0) " " temp[FNR]}' <(sort file1.txt) <(sort file0.txt)
Name: vSwitch0 MTU: 1500 Uplinks: vmnic0 Portgroups: VM Network, Management Network **nvmxnet3 Up 10000 full**
Name: vSwitch1 MTU: 1500 Uplinks: vmnic1 Portgroups: VM Network 2 **nvmxnet3 Up 10000 full**
Name: vSwitch2 MTU: 1500 Uplinks: vmnic2 Portgroups: VM Network 3 **nvmxnet3 Down 0 half**
我试过了,但是失败了。我想在
下面写点东西但是,我不想使用join或paste..我将只使用awk命令。
Name: vSwitch0 MTU: 1500 Uplinks: vmnic0 **nvmxnet3 Up 10000 full** Portgroups: VM Network, Management Network
Name: vSwitch1 MTU: 1500 Uplinks: vmnic1 **nvmxnet3 Up 10000 full** Portgroups: VM Network 2
Name: vSwitch2 MTU: 1500 Uplinks: vmnic2 **nvmxnet3 Down 0 half** Portgroups: VM Network 3
或
第二个问题
这可能吗?
cat file1.txt
vmnic0 nvmxnet3 Up 10000 Full
vmnic1 nvmxnet3 Up 10000 Full
vmnic2 nvmxnet3 Down 0 Half
vmnic3 nvmxnet3 Up 10000 Full
# cat file2.txt
Name: vSwitch0 MTU: 1500 Uplinks: vmnic0 Portgroups: VM Network, Management Network
Name: vSwitch1 MTU: 1500 Uplinks: vmnic1 Portgroups: VM Network 2
Name: vSwitch2 MTU: 1500 Uplinks: vmnic3, vmnic2 Portgroups: VM Network 3
有可能输出这样的东西吗?
vmnic0 nvmxnet3 Up 10000 Full Name: vSwitch0 MTU: 1500 Portgroups: VM Network, Management Network
vmnic1 nvmxnet3 Up 10000 Full Name: vSwitch1 MTU: 1500 Portgroups: VM Network 2
vmnic2 nvmxnet3 Down 0 Half Name: vSwitch2 MTU: 1500 Portgroups: VM Network 3
vmnic3 nvmxnet3 Up 10000 Full Name: vSwitch2 MTU: 1500 Portgroups: VM Network 3
将Portgroups替换为您想要添加的文本。
awk '
NR==FNR { temp[FNR]=$2 FS $3 FS $4; next }
{gsub(" Portgroups:", temp[FNR]" Portgroups:"; print}
' <(sort file1.txt) <(sort file0.txt)