我有一个brctl输出:
brctl show | awk 'NR>1 {print $1}'
testbr
vlan.2
veth689NIN <-- wrong
如何解析此输出以仅获取桥名?
Imports Oracle.DataAccess.Client
Public Class Form1
Public con As New OracleConnection
Public ds As New DataSet
Public Function Connect() As OracleConnection
Dim username As String = txtUsername.Text
Dim password As String = txtPassword.Text
Dim connectString As String = "Data Source=XE; user id=" & username & ";" & "Password=" & password & ";"
Dim con As New OracleConnection(connectString)
con.Open()
Return con
End Function
Public Function populateDS() As DataSet
ds = New DataSet
Dim sql As String
Dim da As OracleDataAdapter
sql = "SELECT * from Customer"
da = New OracleDataAdapter(sql, Connect())
da.Fill(ds, "DT_Customer")
con.Close()
Return ds
End Function
Dim Attempt As Integer = 1
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
**If txtUsername.Text = "username" And txtPassword.Text = "Password"** Then
MsgBox("Welcome")
Customer.ShowDialog()
Me.Hide()
populateDS()
ElseIf Attempt = 3 Then
MsgBox("Maxium Attempts Reached")
Close()
Else
MsgBox("Username & Password Incorrect - Attempt " & Attempt & " of 3 ")
Attempt = Attempt + 1
txtUsername.Text = ""
txtPassword.Text = ""
txtUsername.Focus()
End If
End Sub
End Class
答案 0 :(得分:2)
也许你也可以检查这样的字段数(NF):
buttons
答案 1 :(得分:0)
这是一个sed解决方案:
brctl show | sed -n '2,$ {s/ .*//; /./p}'
testbr
vlan.2
&#39; -n&#39;
除非我们明确要求,否则告诉sed不要打印任何内容。
2,$ {...}
这告诉sed仅在第2行和第2行执行大括号中的命令。这消除了标题。
s/ .*//
这将从第一个空格后的行中删除所有内容。
/./p
如果线上还有任何东西(意味着它没有以空格开头),则打印出来。