C# 通过 SSH 从文件中删除行
C# delete line from file over SSH
我正在使用 Renci SshNet 从我正在编写的 C# 程序中通过 SSH 访问文件。
使用我的应用程序中的数据,我在文本文件中创建了一行,如下所示。
sshclient.Connect();
string data1 = textBox1.Text + ":";
string data2 = textBox2.Text + ":";
string ip = "${SSH_CLIENT%% *}" + ":";
string data = ("\necho " + ip + data1 + data2 " >> file.txt");
var cmd = sshclient.CreateCommand(data);
cmd.Execute();
sshclient.Disconnect();
当我启动我的应用程序时,上面的代码导致一行被添加到文本文件中,这正是我想要的。
123.456.789.000:data1:data2:
我想在我的应用程序关闭时从文本文件中删除该行,但到目前为止我运气不佳。
下面是我试过的...
sshclient.Connect();
textBox3.Text = new WebClient().DownloadString("http://icanhazip.com");
string ip = textBox3.Text;
string del = ("sed -i '/" + ip + "/ d' file.txt");
var cmd = sshclient.CreateCommand(del);
cmd.Execute();
sshclient.Disconnect();
从网络读取并添加到文本框时,文本框确实正确显示了 ip。
但是如果我使用上面的命令,除非我在文本框中手动输入 ip,否则该行不会被删除。
我也试过了
string del = ("sed -i '/${SSH_CLIENT%% *}/ d' file.txt");
我做错了什么?
IP 的末尾似乎有一个 space,我在文本框中看不到它。
我正在使用 Renci SshNet 从我正在编写的 C# 程序中通过 SSH 访问文件。
使用我的应用程序中的数据,我在文本文件中创建了一行,如下所示。
sshclient.Connect();
string data1 = textBox1.Text + ":";
string data2 = textBox2.Text + ":";
string ip = "${SSH_CLIENT%% *}" + ":";
string data = ("\necho " + ip + data1 + data2 " >> file.txt");
var cmd = sshclient.CreateCommand(data);
cmd.Execute();
sshclient.Disconnect();
当我启动我的应用程序时,上面的代码导致一行被添加到文本文件中,这正是我想要的。
123.456.789.000:data1:data2:
我想在我的应用程序关闭时从文本文件中删除该行,但到目前为止我运气不佳。
下面是我试过的...
sshclient.Connect();
textBox3.Text = new WebClient().DownloadString("http://icanhazip.com");
string ip = textBox3.Text;
string del = ("sed -i '/" + ip + "/ d' file.txt");
var cmd = sshclient.CreateCommand(del);
cmd.Execute();
sshclient.Disconnect();
从网络读取并添加到文本框时,文本框确实正确显示了 ip。 但是如果我使用上面的命令,除非我在文本框中手动输入 ip,否则该行不会被删除。
我也试过了
string del = ("sed -i '/${SSH_CLIENT%% *}/ d' file.txt");
我做错了什么?
IP 的末尾似乎有一个 space,我在文本框中看不到它。