使用字符串分隔符将文本剪切成两个字符串 - bash

Posted

技术标签:

【中文标题】使用字符串分隔符将文本剪切成两个字符串 - bash【英文标题】:Cut text into two string using string delimiter - bash 【发布时间】:2022-01-05 03:04:27 【问题描述】:

我想用一个字符串将字符串分成两个字符串

 CH  7 ][ Elapsed: 0 s ][ 2021-11-27 12:55

 BSSID              PWR  Beacons    #Data, #/s  CH   MB   ENC CIPHER  AUTH ESSID

 EE:EE:EE:EE:EE:EE  -82        3        0    0   6  130   WPA2 CCMP   PSK  Tenda
 FF:FF:FF:FF:FF:FF  -90        4        0    0   1  130   WPA2 CCMP   PSK  Wifi

 BSSID              STATION            PWR   Rate    Lost    Frames  Notes  Probes

 EE:EE:EE:EE:EE:EE  AA:AA:AA:AA:AA:AA  -63    0 - 1e     0        3
 EE:EE:EE:EE:EE:EE  BB:BB:BB:BB:BB:BB  -74    0 - 1      0        1

我想使用此分隔符 BSSID STATION PWR Rate Lost Frames Notes Probes 剪切文本 所需的输出:

 CH  7 ][ Elapsed: 0 s ][ 2021-11-27 12:55

 BSSID              PWR  Beacons    #Data, #/s  CH   MB   ENC CIPHER  AUTH ESSID

 EE:EE:EE:EE:EE:EE  -82        3        0    0   6  130   WPA2 CCMP   PSK  Tenda
 FF:FF:FF:FF:FF:FF  -90        4        0    0   1  130   WPA2 CCMP   PSK  Wifi

【问题讨论】:

请缩短你的超长行。 我尝试使用awk -F 'BSSID' 'print $1' file,但它减少了所有出现,我只想减少最后一次出现。 你把cut分成两个字符串是什么意思?使用awk sed grep 等...你只会得到一个处理过的字符串作为输出 【参考方案1】:
awk '/BSSID              STATION            PWR   Rate    Lost    Frames  Notes  Probes/exit 1' file

【讨论】:

以上是关于使用字符串分隔符将文本剪切成两个字符串 - bash的主要内容,如果未能解决你的问题,请参考以下文章

用 Java 读取大文件

使用2个字符串分隔符c ++选择文本文件的一部分

Linux 第13天 文本操作命令

Vim的文本对象

在 spark java 中读取具有固定宽度和分隔符的文本文件

正则表达式量词 - 两个字符之间的数量