小编Ces*_*pez的帖子

bash 和 expect 在同一个脚本中?

我正在尝试编写一个脚本,该脚本从 .csv 文件中获取 IP 地址并远程登录设备以捕获“显示版本”命令输出。

到目前为止,我已经编码了这个:

#!/bin/bash
#!/usr/bin/expect -f
FILE1=dispositivos.csv  #file with IP's and device name
set Username "user"    #this is the user for telnet connection.
set Password "this.is.the.pass"  #pass for telnet connection.

NUMERODISP="$(wc -l $FILE1 | awk '{print $1}')" #this command counts number of devices (IP's) in the file as it is a .csv file, it only counts number of lines.


for i in `seq 2 $NUMERODISP`; 
        do
    IP="$(awk -vnum="$i" 'NR == num { print $NF }' dispositivoss.csv)"
        echo …
Run Code Online (Sandbox Code Playgroud)

scripting bash shell-script expect

9
推荐指数
1
解决办法
2万
查看次数

如何让 Expect 等待另一个脚本完成

我有 3 个脚本,这是主要的:

\n\n
#!/usr/bin/expect -f\n#!/bin/sh\nset DATE [exec date +%F]\nset IP  "148.000.000.101"\nset Username "user" \nset Password "pass"\nset Password_sql "sqlpass"\nspawn ssh -p 22 mycomputer@localhost\nexpect "*?"\nsend "yes\\r"\nexpect "password: "\nsend "passlocal\\r"\nexpect "$ "\nsend "telnet $IP\\r"\nexpect "Username:"\nsend "$Username\\r"\nexpect "Password: "\nsend "$Password\\r"\nexpect "*>"\nsend "show cdp neighbors detail\\r"\nlog_file -noappend CDPdet.dat;\nexpect -ex "--More--" {send -- " "; exp_continue}\nexpect "*>"\nlog_file;\nexpect "*>"\nsend "exit\\r"\nexpect "$ "\nsend -- "awk \'/Device ID|IP address|Interface|Port ID/ { print }\' CDPdet.dat >tabladetallada.dat\\r"\nexpect "$ "\nsend -- "sed \'s/--More--\xe2\x90\xa3*//\' tabladetallada.dat>tabladetallada2.dat \\r"\nexpect "$ "\nsend -- "sed -i \'$ …
Run Code Online (Sandbox Code Playgroud)

scripting bash shell-script telnet expect

3
推荐指数
1
解决办法
2万
查看次数

.csv 文件中的重复值

大家,我有这个脚本,到目前为止我一直使用没有任何问题,它使用两个文件来创建一个 .csv,这两个文件来自另一个脚本,它包含有关连接到网络的设备的信息,这个是导致错误时文件的外观。

文件1.dat:

SN: FCQ1632Y0UQ
Estadio_Admon
ip_address: 148.000.000.123
Run Code Online (Sandbox Code Playgroud)

file2.dat:

Device ID: ESTADIO_19
IP address: 148.000.000.119
Interface: FastEthernet0/3
Port ID (outgoing port): GigabitEthernet0

Device ID: ESTADIO_18
IP address: 148.000.000.118
Interface: FastEthernet0/4
Port ID (outgoing port): GigabitEthernet0

Device ID: ESTADIO_16
IP address: 148.000.000.116
Interface: FastEthernet0/6
Port ID (outgoing port): GigabitEthernet0

Device ID: ESTADIO_PALCOS
IP address: 148.000.000.66
Interface: GigabitEthernet0/2
Port ID (outgoing port): GigabitEthernet0/1
SN: FCQ1632Y0US

Device ID: ESTADIO_22
IP address: 148.000.000.122
Interface: FastEthernet0/8
Port ID (outgoing port): GigabitEthernet0

Device ID: SIPCCEF485DE89A
IP …
Run Code Online (Sandbox Code Playgroud)

scripting awk text-processing csv

1
推荐指数
1
解决办法
65
查看次数

grep 给定行 .csv 文件的最后一个字

我有一个这样的文本文件:

first, second
hello, bye
one, two
good, bad
day, night
Run Code Online (Sandbox Code Playgroud)

我想要一个脚本,它基于一个变量,使用grep或检索给定行的最后一个单词awk

例如:如果 num 是3,则输出应该是two

没有必要询问 num 的值。

grep awk shell-script

0
推荐指数
1
解决办法
1299
查看次数

标签 统计

scripting ×3

shell-script ×3

awk ×2

bash ×2

expect ×2

csv ×1

grep ×1

telnet ×1

text-processing ×1