我从stack overflow中获得了以下脚本:
#!/bin/sh
in_file=temp2.txt # Input file
params=6 # Parameters count
res_file=$(mktemp) # Temporary file
sep=' ' # Separator character
# Print header
cnt=0
for i in $(cat $in_file | head -$((params*2))); do
if [ $((cnt % 2)) -eq 0 ]; then
echo $i
fi
cnt=$((cnt+1))
done | sed ":a;N;\$!ba;s/\n/$sep/g" >>$res_file
# Parse and print values
cnt=0
for i in $(cat $in_file); do
# Print values, skip param names
if [ $((cnt % 2)) -eq 1 ]; then
echo -n $i >>$res_file
fi
if [ $(((cnt+1) % (params*2))) -eq 0 ]; then
# Values line is finished, print newline
echo >>$res_file
elif [ $((cnt % 2)) -eq 1 ]; then
# More values expected to be printed on this line
echo -n "$sep" >>$res_file
fi
cnt=$((cnt+1))
done
# Make nice table format
cat $res_file | column -t
#rm -f $res_file
但是随后我大约有100多行,并且出现错误**“列:行太长” **,如下所示:
****列:行太长**** GigabitEthernet0 / 0 GigabitEthernet1 / 0/3 GigabitEthernet1 / 0/5 GigabitEthernet1 / 0/10 GigabitEthernet1 / 0/19 GigabitEthernet1 / 0/33 GigabitEthernet1 / 0/2
千兆以太网1/0/4千兆以太网1/0/7千兆以太网1/0/18 千兆以太网1/0/30千兆以太网1/0/44千兆以太网1/0/46 GigabitEthernet1 / 1/3 GigabitEthernet2 / 0/1 GigabitEthernet2 / 0/5
千兆以太网2/0/9千兆以太网2/0/14千兆以太网2/0/18 GigabitEthernet2 / 0/31 GigabitEthernet2 / 0/34 GigabitEthernet2 / 0/36 千兆以太网2/0/40千兆以太网2/1/3千兆以太网3/0/12 GigabitEthernet3 / 0/30 GigabitEthernet3 / 0/32 GigabitEthernet3 / 0/34 GigabitEthernet3 / 0/36 GigabitEthernet3 / 0/38 GigabitEthernet3 / 0/40 GigabitEthernet3 / 0/42 GigabitEthernet3 / 0/44 GigabitEthernet3 / 0/46 GigabitEthernet3 / 0/48 GigabitEthernet3 / 1/2
您可以提供的任何解决方案,在这里我都找不到这个脚本的作者再次询问他。
输入文件将如下所示:
{ 千兆以太网0/0 千兆以太网1/0/2 千兆以太网1/0/3 千兆以太网1/0/4 千兆以太网1/0/5 千兆以太网1/0/7 千兆以太网1/0/10 千兆以太网1/0/18 千兆以太网1/0/19 千兆以太网1/0/30 千兆以太网1/0/33 千兆以太网1/0/44 千兆以太网1/0/45 千兆以太网1/0/46 千兆以太网1/1/2 千兆以太网1/1/3 千兆以太网1/1/4 千兆以太网2/0/1 千兆以太网2/0/2 千兆以太网2/0/5 千兆以太网2/0/8 千兆以太网2/0/9 千兆以太网2/0/12 千兆以太网2/0/14 千兆以太网2/0/15 千兆以太网2/0/18 千兆以太网2/0/22 千兆以太网2/0/31 千兆以太网2/0/33 千兆以太网2/0/34 千兆以太网2/0/35 千兆以太网2/0/36 千兆以太网2/0/38 千兆以太网2/0/40 千兆以太网2/1/2 千兆以太网2/1/3 千兆以太网2/1/4 千兆以太网3/0/12 千兆以太网3/0/23 千兆以太网3/0/30 千兆以太网3/0/31 千兆以太网3/0/32 千兆以太网3/0/33 千兆以太网3/0/34 千兆以太网3/0/35 千兆以太网3/0/36 千兆以太网3/0/37 千兆以太网3/0/38 千兆以太网3/0/39 千兆以太网3/0/40 千兆以太网3/0/41 千兆以太网3/0/42 千兆以太网3/0/43 千兆以太网3/0/44 千兆以太网3/0/45 千兆以太网3/0/46 千兆以太网3/0/47 千兆以太网3/0/48 千兆以太网3/1/1 千兆以太网3/1/2 千兆以太网3/1/3 千兆以太网3/1/4 }
输出我需要这样的东西:
{ 千兆以太网0/0 |千兆以太网1/0/33 | 千兆以太网1/0/2 |千兆以太网1/0/44 | 千兆以太网1/0/3 |千兆以太网1/0/43 | 千兆以太网1/0/4 |千兆以太网1/0/46 | GigabitEthernet1 / 0/5 |千兆以太网1/1/2 | 千兆以太网1/0/7 |千兆以太网1/1/3 | 千兆以太网1/0/10 |千兆以太网1/1/4 | 千兆以太网1/0/18 |千兆以太网2/0/1 | 千兆以太网1/0/19 |千兆以太网2/0/2 | 千兆以太网1/0/30 | GigabitEthernet2 / 0/5 | }
答案 0 :(得分:0)
我已经使用列命令解决了这个问题。
它只是将输出发布如下
column vacant_temp4.txt
GigabitEthernet1/0/1 GigabitEthernet1/0/48 GigabitEthernet2/0/34 GigabitEthernet3/0/44 GigabitEthernet4/0/28
GigabitEthernet1/0/2 GigabitEthernet1/1/2 GigabitEthernet2/0/35 GigabitEthernet3/1/1 GigabitEthernet4/0/29
GigabitEthernet1/0/3 GigabitEthernet1/1/3 GigabitEthernet2/0/36 GigabitEthernet3/1/2 GigabitEthernet4/0/30
GigabitEthernet1/0/5 GigabitEthernet1/1/4 GigabitEthernet2/0/38 GigabitEthernet3/1/3 GigabitEthernet4/0/31
GigabitEthernet1/0/7 GigabitEthernet2/0/1 GigabitEthernet2/0/45 GigabitEthernet3/1/4 GigabitEthernet4/0/32
GigabitEthernet1/0/8 GigabitEthernet2/0/5 GigabitEthernet2/1/2 GigabitEthernet4/0/1 GigabitEthernet4/0/33
GigabitEthernet1/0/9 GigabitEthernet2/0/8 GigabitEthernet2/1/3 GigabitEthernet4/0/5 GigabitEthernet4/0/34
GigabitEthernet1/0/14 GigabitEthernet2/0/9 GigabitEthernet2/1/4 GigabitEthernet4/0/6 GigabitEthernet4/0/35
GigabitEthernet1/0/16 GigabitEthernet2/0/10 GigabitEthernet3/0/2 GigabitEthernet4/0/9 GigabitEthernet4/0/36
GigabitEthernet1/0/19 GigabitEthernet2/0/13 GigabitEthernet3/0/5 GigabitEthernet4/0/12 GigabitEthernet4/0/37
GigabitEthernet1/0/20 GigabitEthernet2/0/14 GigabitEthernet3/0/7 GigabitEthernet4/0/13 GigabitEthernet4/0/38
GigabitEthernet1/0/26 GigabitEthernet2/0/16 GigabitEthernet3/0/13 GigabitEthernet4/0/16 GigabitEthernet4/0/39
GigabitEthernet1/0/27 GigabitEthernet2/0/20 GigabitEthernet3/0/16 GigabitEthernet4/0/17 GigabitEthernet4/0/40
GigabitEthernet1/0/28 GigabitEthernet2/0/21 GigabitEthernet3/0/19 GigabitEthernet4/0/18 GigabitEthernet4/0/41
GigabitEthernet1/0/30 GigabitEthernet2/0/25 GigabitEthernet3/0/22 GigabitEthernet4/0/19 GigabitEthernet4/0/42
GigabitEthernet1/0/31 GigabitEthernet2/0/26 GigabitEthernet3/0/25 GigabitEthernet4/0/20 GigabitEthernet4/1/1
GigabitEthernet1/0/35 GigabitEthernet2/0/27 GigabitEthernet3/0/26 GigabitEthernet4/0/21 GigabitEthernet4/1/2
GigabitEthernet1/0/36 GigabitEthernet2/0/28 GigabitEthernet3/0/27 GigabitEthernet4/0/22 GigabitEthernet4/1/3
GigabitEthernet1/0/37 GigabitEthernet2/0/29 GigabitEthernet3/0/37 GigabitEthernet4/0/23 GigabitEthernet4/1/4
GigabitEthernet1/0/40 GigabitEthernet2/0/30 GigabitEthernet3/0/39 GigabitEthernet4/0/24
GigabitEthernet1/0/45 GigabitEthernet2/0/31 GigabitEthernet3/0/41 GigabitEthernet4/0/26
GigabitEthernet1/0/46 GigabitEthernet2/0/32 GigabitEthernet3/0/42 GigabitEthernet4/0/27
它看起来比您在我的腻子屏幕上看到的要好。
谢谢oliv,Tripleee,paul和所有人。