Unix 拆下部分管路

Unix 拆下部分管路,unix,random,Unix,Random,我有一个这样格式化的文本文件。我正在使用UNIX 例如: 192.168.178.65|connected 2/5/2017 192.168.178.93|connected 3/5/2017 192.168.178.65 192.168.178.93 所以基本上都是这样 (随机ip)|连接(随机日期) (随机ip)|连接(随机日期) 我怎样才能删除| connected后面的所有内容,以便最终看起来像这样 例如: 192.168.178.65|connected 2/5/2017

我有一个这样格式化的文本文件。我正在使用UNIX

例如:

192.168.178.65|connected 2/5/2017

192.168.178.93|connected 3/5/2017
192.168.178.65

192.168.178.93

所以基本上都是这样

(随机ip)|连接(随机日期)

(随机ip)|连接(随机日期)

我怎样才能删除| connected后面的所有内容,以便最终看起来像这样

例如:

192.168.178.65|connected 2/5/2017

192.168.178.93|connected 3/5/2017
192.168.178.65

192.168.178.93
这样我就只有IP了

(随机ip)

(随机ip)

谢谢你的帮助

编辑: 只要使用威廉·珀斯的回答:

cut -d\| -f1

将删除|

后面的所有内容,如果您只需要
随机ip
,那么您可以通过
awk

awk -F"|" '{print $1}' filename

只需使用
cut

cut -d\| -f1
例如:
cut-d\|-f1output.file

或者使用awk命令
awk'{print$1}'FS=\\\124;
或者在unix中使用sed
sed的/|.*/'
或(不完整且不严格)
grep-Eo'([0-9]{1,3}\){3}[0-9]{1,3}'

使用Perl脚本可以解决这个问题

use strict;
use warnings;

while(<>){
my @ip= split('|',$_);
print "$ip[0] \n";
}

您需要设置字段分隔符。我误解了这个问题,认为他需要第二个字段,因此没有分隔符。更正。您好,谢谢,但是只有|已连接的被删除,但我需要删除|已连接的后面的所有内容。如果您能帮我做这件事,那就太好了。
cut
删除所有内容,并生成与问题中提供的示例输出完全相同的结果。我不确定我是否理解你的评论。你也可以使用
perl-F'\\\\\\\''-anE'say$F[0]
tr\\\\\\\\\n | awk'NR%2'
sed's/| connected./'