|  |      1anthow      2018-01-05 16:04:53 +08:00 不会 shell 的话,用其他脚本不分分钟干完。。。 | 
|  |      3lslqtz      2018-01-05 16:21:23 +08:00 via iPhone 不会 shell,我的思路是取中间数,然后按给定的空格输出,到指定的中间行数时先输出 IP | 
|  |      4eccstartup      2018-01-05 16:27:47 +08:00 via iPhone 问题不太明确 | 
|  |      5privil      2018-01-05 16:28:41 +08:00 ……不算是两个文件 = = 我随手写一个试试 ``` #!/bin/bash cat >>c <<eof root $i bin daemon eof done ``` 怎么对齐你自己看着办 = = | 
|  |      6aristotll      2018-01-05 16:29:11 +08:00 @eccstartup  #4 的确 建议用 python 写非常简单如果你需求可以的话 | 
|  |      7privil      2018-01-05 16:29:15 +08:00 #!/bin/bash for i in $(cat a);do cat >>c <<eof root $i bin daemon eof done 我擦,少了一行 = = | 
|  |      8veelog      2018-01-05 16:29:54 +08:00 via iPhone awk '{print "";print $0;print ""}' a.log|paste -d"" - b.log | 
|  |      9lululau      2018-01-05 16:30:14 +08:00 连规则都懒得描述吗。。。 嗟!来食: paste <(gsed -n 'x;p;x;G;p' a) b | 
|  |      10veelog      2018-01-05 16:31:18 +08:00 via iPhone cat b.log|paste a.log - - - 这种格式更好点吧 | 
|  |      11sutra      2018-01-05 16:32:45 +08:00 cat a | awk '{printf "\t\n%s\t\n\t\n", $1}' | paste -d " " - b | 
|  |      12omph      2018-01-05 16:33:16 +08:00 输出的是个表格。 是不是 A 的 1 行对应 B 的 3 行? | 
|  |      13privil      2018-01-05 16:40:12 +08:00 @sutra #11 cat a | awk '{printf "#""\t\n%s\t\n""#""\t\n", $1}' | paste -d " " - b|column -t|sed 's/#/ /' 改进了下,对齐了= = | 
|      14cls1991      2018-01-05 16:59:31 +08:00 awk '{printf "\t\t\n%s\t\n\t\t\n", $1}' a.txt | paste -d ' ' - b.txt | awk ' {print;} NR % 3 == 0 { print ""; }' ` root 10.200.187.81 bin daemon root 10.200.187.82 bin daemon root 10.200.187.83 bin daemon ` 应该跟需求一样了。 | 
|  |      15Lpl      2018-01-05 17:11:41 +08:00 ``` #!/bin/bash rm c.txt ans=1 while read LINE do read -a items <<< $LINE for ((i=0; i<3; i++)) do tmp=`sed -n -e "$((${ans}+${i}))p" b.txt` if [ ${i} = 1 ]; then echo -e "${items[@]}\t\t${tmp}" >> c.txt else echo -e "\t\t\t${tmp}" >> c.txt fi done let ans+=3; done < a.txt cat c.txt | expand -t 8 >d.txt mv d.txt c.txt ``` 结果:   | 
|  |      16Lpl      2018-01-05 17:12:33 +08:00 上述第三行的  rm c.txt 修改为 cat /dev/null > c.txt | 
|  |      17Lpl      2018-01-05 17:15:44 +08:00 @sutra 我也改进下,cat a | awk '{printf "\t\n%s\t\n\t\n", $1}' | paste -d " " - b | expand -t 20 > d.txt 对齐了... | 
|      18tees      2018-01-05 17:25:46 +08:00 @privil  cat a | awk '{printf "#""\t\n%s\t\n""#""\t\n", $1}' | paste -d " " - b|column -t|sed 's/#/ /'|sed 'N;N;/^$/d;G' 加个空行. | 
|  |      19veelog      2018-01-05 17:27:23 +08:00 via iPhone awk '{printf "%15 s\n%15 s\n%15 s\n", "",$0,"" }' a.log|paste -d"" - b.log |