AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / user-431343

Renga's questions

Martin Hope
Renga
Asked: 2022-11-25 00:07:34 +0800 CST

打印文件中的第一个和最后一个非空(或非空白)行

  • 4

我想打印文件中的第一行和最后一行非空行或非空白行,最好使用sedor awk。

  • 输入文件:
    123 345
    456 087
    er 56
    32 78
    
    
    注意后面有一个空行32 78。
  • 期望的输出:
    123 345
    32 78
    
text-processing
  • 3 个回答
  • 86 Views
Martin Hope
Renga
Asked: 2022-09-19 22:40:40 +0800 CST

正则表达式与预期数据不匹配

  • 3

我正在尝试通过以下命令根据过滤条件提取数据awk,但它不起作用。你能解决这个问题吗?

awk -v RS='' -v ORS='\n\n' '/func: peak*down*HIL/' filename

输入:

func: peak_rec_head_HIL
sub: xyz
value: adc
log:path
close:date

func: peak_some_down_head_HIL
sub: xyz
value: adc
log:path
close:date

func: peak_another_one_down_head_HIL
sub: xyz
value: adc
log:path
close:date

func: peak_rec_head_HIL
sub: xyz
value: adc
log:path
close:date

func: peak_another_one_down_head_joy_HIL
sub: xyz
value: adc
log:path
close:date

预期输出:

func: peak_some_down_head_HIL
sub: xyz
value: adc
log:path
close:date

func: peak_another_one_down_head_HIL
sub: xyz
value: adc
log:path
close:date

func: peak_another_one_down_head_joy_HIL
sub: xyz
value: adc
log:path
close:date
awk text-processing
  • 1 个回答
  • 81 Views
Martin Hope
Renga
Asked: 2022-06-11 05:31:17 +0800 CST

使第二列唯一并在第一列中添加它们的各自值

  • 0

我的输入如下所示,我只需要保留第二列中的唯一字符串,其中第一列将成为每个唯一字符串的所有值的总和。

例如:取OIA第二列中的 并从第一列添加 OIA 的相应值并在之前打印OIA。

输入:

1079 OIA
1079 OIA
975  OIA
975  OIA
372  CLN
243  TLN
224  TLN
224  TLN
224  TLN
224  TLN
224  TLN
224  TLN
224  TLN
224  TLN
224  TLN
224  TLN

预期输出:

4108    OIA
372     CLN
2483    TLN
awk text-processing
  • 3 个回答
  • 138 Views
Martin Hope
Renga
Asked: 2022-05-13 04:42:38 +0800 CST

在匹配模式后将该行拆分为下一行

  • 1

在下面显示的输入文件中,我试图找到字符串job_type并将其移动到下一行,如果它与 job_type 匹配。

我试过这个,但它不工作:

sed "s/[A-Z][a-z]*job_type:/\njob_type:/g"

输入:

    insert_job: VAU_vaultnotification_ertgvfg_job job_type: xxx 
    insert_job: VAU_vaultnotification_ertgvfg_frd job_type: yyy 
    insert_job: VAU_vaultnotification_ertgvfg_erb job_type: SXC 
     job_type: CMD
    insert_job: VAU_vaultnotification_ertgvfg_frd job_type: YUI 

预期输出:

insert_job: VAU_vaultnotification_ertgvfg_job 
job_type: xxx 
insert_job: VAU_vaultnotification_ertgvfg_frd 
job_type: yyy 
insert_job: VAU_vaultnotification_ertgvfg_erb 
job_type: SXC 
 job_type: CMD
insert_job: VAU_vaultnotification_ertgvfg_frd 
job_type: YUI 
text-processing sed
  • 4 个回答
  • 113 Views
Martin Hope
Renga
Asked: 2022-05-08 09:39:31 +0800 CST

如果用户不在系统中,则列出用户并返回非零退出代码

  • 0

我需要找到一个用户,如果用户不在系统中,该命令应该以非零返回码退出。我们可以在 中执行此操作bash,但我需要将其作为行命令,而不是bash脚本。那可能吗?

command-line users
  • 1 个回答
  • 111 Views
Martin Hope
Renga
Asked: 2022-02-05 02:07:41 +0800 CST

将匹配行移动到立即下一行到匹配行的末尾

  • 0

我有这样的输入,我需要将 *_job 之后的行移动到 *_job 行的末尾,如果它是 job_type 并打印整个文件。如果下一行不是 job_type 则打印它们。

我只能通过 SED 打印具有 *_job 的行,但不能打印整个文件,有人可以帮我吗..

 sed -i -n '/.*_job: .*/{h}; /job_type.*/{H;x;s/\n/ /;p}'

输入。

update_job: YUHG_GHT_FGT_BOX
job_type: box
condition : s(XXXYYUYBJHBJb) &
svcdesk_desc: XXXXXX
insert_job: TYYUH_JYUH_BOX
job_type: cmd
condition : s(XXXYYUYBJHBJb) &
svcdesk_desc: XXX
insert_job: TYU_hju_poonj
job_type: CMD
condition : s(XXXYYUYBJHBJb) &
svcdesk_desc: XXX

insert_job: YU_opoj_BOX job_type: BOX
condition : s(XXXYYUYBJHBJb) &
svcdesk_desc: XX

insert_job: YU_opoj_BOX
job_type: BOX
condition : s(XXXYYUYBJHBJb) &
svcdesk_desc: XX

预期 O/P:-

update_job: YUHG_GHT_FGT_BOX job_type: box
condition : s(XXXYYUYBJHBJb) &
svcdesk_desc: XXXXXX
insert_job: TYYUH_JYUH_BOX job_type: cmd
condition : s(XXXYYUYBJHBJb) &
svcdesk_desc: XXX
insert_job: TYU_hju_poonj job_type: CMD
condition : s(XXXYYUYBJHBJb) &
svcdesk_desc: XXX

insert_job: YU_opoj_BOX job_type: BOX
condition : s(XXXYYUYBJHBJb) &
svcdesk_desc: XX

insert_job: YU_opoj_BOX job_type: BOX
condition : s(XXXYYUYBJHBJb) &
svcdesk_desc: XX
text-processing sed
  • 5 个回答
  • 77 Views
Martin Hope
Renga
Asked: 2021-11-26 03:14:54 +0800 CST

仅转换和替换文件中的 EPOCH 值

  • 3

我有一个像下面这样的输入,它在一些第 2、第 3 列中随机包含纪元和数字。我正在尝试使用 awk 内置函数 strftime() 转换纪元日期,并替换不在其中的值时代价值。

我尝试使用下面的,但没有得到我想要的输出。

awk '{ print  $1 strftime("%c",$2) strftime("%c",$3)  }' test.txt

输入:-

h_RTGUSEQ_RTY_FILE_LIST_ODRF_XOB                                  0            0            11      
TRF_RTGUSFX_RTY_FILE_LIST_XOB                                     0            0            11      
TRF_RTGUSIG_RTY_FILE_LIST_XOB                                     0            0            11          
NGU_AVM_DAILY_SCHEDULE_XOB                                        1617804000   1617804156   7 
TRF_RTGUSIR_RTY_FILE_LIST_XOB                                     0            0            11            
NGU_schedule_next                                                 1614198958   1614198979   7       
TCR_RTGUSCR_DSTGE_REPORT_XOB                                      1591171200   1591171268   7       
YUI_RTGNLEQ_DB_CHK_RTYCYCLE_ARCHV_XOB                             0            0            11 
NGU_schedule_current                                              1614198946   1614198957   7      
YUI_RTGNLEQ_Z_DUMMY_XOB                                           0            0            7       
YUI_RTGNLEQ_Z_TRIGR_DSJ_XOB                                       0            0            11      
YUI_RTGSGEQ_DB_CHK_RTYCYCLE_ARCHV_XOB                             0            0            11 

预期的输出样本格式:需要在同一文件中替换下面提到格式的纪元值

h_RTGUSEQ_RTY_FILE_LIST_ODRF_XOB       0                        0                        11
TRF_RTGUSFX_RTY_FILE_LIST_XOB          0                        0                        11
TRF_RTGUSIG_RTY_FILE_LIST_XOB          0                        0                        11
NGU_AVM_DAILY_SCHEDULE_XOB             07 Apr 2021 09:04:00 AM  07 Apr 2021 09:04:36 AM  7
TRF_RTGUSIR_RTY_FILE_LIST_XOB          0                        0                        11
NGU_schedule_next                      24 Feb 2021 02:02:58 PM  24 Feb 2021 02:02:19 PM  7
TCR_RTGUSCR_DSTGE_REPORT_XOB           03 Jun 2020 03:06:00 AM  03 Jun 2020 03:06:08 AM  7
YUI_RTGNLEQ_DB_CHK_RTYCYCLE_ARCHV_XOB  0                        0                        11
NGU_schedule_current                   24 Feb 2021 02:02:46 PM  24 Feb 2021 02:02:57 PM  7
YUI_RTGNLEQ_Z_DUMMY_XOB                0                        0                        7
YUI_RTGNLEQ_Z_TRIGR_DSJ_XOB            0                        0                        11
YUI_RTGSGEQ_DB_CHK_RTYCYCLE_ARCHV_XOB  0                        0                        11
awk text-processing
  • 1 个回答
  • 188 Views
Martin Hope
Renga
Asked: 2021-10-24 22:12:21 +0800 CST

从文件传递时变量在 awk 中不接受

  • 3

我正在逐行读取文件。每行如下所示:

xxyu: JHYU_IOPI

每一行都传递给 awk,如下所示。我想打印匹配模式的上一行;我可以使用 grep 来实现这一点,并且想知道我在 awk 中犯了什么错误。

#!/bin/bash
while read i
do
 awk '/$i/{print a}{a=$0}' ver_in.txt
done<in.txt

我也试过这个:

#!/bin/bash
while read i
do
 awk -v var="$i" '/var/{print a}{a=$0}' jil.txt
done<in.txt

编辑:在得到不使用 sh read 的建议后使用 awk。我的输入和所需的输出如下所示:

编辑1:编辑@Ed Morton awk 脚本的输入,如下所示

输入文件:cat文件

/* ----------------- AIX_RUN_WATCH ----------------- */ 

insert_job: AIX_RUN_WATCH   job_type: BOX 
owner: root
permission: 
date_conditions: 1
days_of_week: su
start_times: "22:00"
alarm_if_fail: 1
alarm_if_terminated: 1
group: app
send_notification: 0
notification_emailaddress: 


 /* ----------------- AIX_stop ----------------- */ 

 insert_job: AIXstop   job_type: CMD 
 box_name: AIX_RUN_WATCH
 command: ls
 machine: cfg.mc
 owner: root
 permission: 
 date_conditions: 0
 box_terminator: 1
 std_out_file: ">> /tmp/${AUTOSERV}.${AUTO_JOB_NAME}.$(date +%Y%m%d).stdout"
 std_err_file: ">> /tmp/${AUTOSERV}.${AUTO_JOB_NAME}.$(date +%Y%m%d).stderr"
 alarm_if_fail: 1
 alarm_if_terminated: 1
 group: app
 send_notification: 1


 /* ----------------- AIX_start ----------------- */ 

 insert_job: AIX_start   job_type: CMD 
 box_name: AIX_RUN_WATCH
 command: ls
 machine: cfg.mc
 owner: root
 permission: 
 date_conditions: 0
 box_terminator: 1
 std_out_file: ">> /tmp/${AUTOSERV}.${AUTO_JOB_NAME}.$(date +%Y%m%d).stdout"
 std_err_file: ">> /tmp/${AUTOSERV}.${AUTO_JOB_NAME}.$(date +%Y%m%d).stderr"
 alarm_if_fail: 1
 alarm_if_terminated: 1
 group: app

   cat targets
     box_name: AIX_RUN_WATCH

预期产出 -

 box_name: AIX_RUN_WATCH
 insert_job: AIX_stop
 insert_job: AIX_start
awk text-processing
  • 3 个回答
  • 899 Views
Martin Hope
Renga
Asked: 2021-10-20 23:47:04 +0800 CST

合并一行中的两个字符串,其中 | 分隔符

  • 0

我想将两个字符串合并到一行中|作为分隔符。我们可以通过使用awk '{$1,$2,$3$4$5}'来合并,有没有其他方法来合并使用|作为分隔符的字符串?

输入:

XXXXXXXX 0 Xxyxhsag | yuiji

输出:

XXXXXXXX 0 Xxyxhsag|yuiji
awk text-processing
  • 3 个回答
  • 98 Views

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    模块 i915 可能缺少固件 /lib/firmware/i915/*

    • 3 个回答
  • Marko Smith

    无法获取 jessie backports 存储库

    • 4 个回答
  • Marko Smith

    如何将 GPG 私钥和公钥导出到文件

    • 4 个回答
  • Marko Smith

    我们如何运行存储在变量中的命令?

    • 5 个回答
  • Marko Smith

    如何配置 systemd-resolved 和 systemd-networkd 以使用本地 DNS 服务器来解析本地域和远程 DNS 服务器来解析远程域?

    • 3 个回答
  • Marko Smith

    dist-upgrade 后 Kali Linux 中的 apt-get update 错误 [重复]

    • 2 个回答
  • Marko Smith

    如何从 systemctl 服务日志中查看最新的 x 行

    • 5 个回答
  • Marko Smith

    Nano - 跳转到文件末尾

    • 8 个回答
  • Marko Smith

    grub 错误:你需要先加载内核

    • 4 个回答
  • Marko Smith

    如何下载软件包而不是使用 apt-get 命令安装它?

    • 7 个回答
  • Martin Hope
    user12345 无法获取 jessie backports 存储库 2019-03-27 04:39:28 +0800 CST
  • Martin Hope
    Carl 为什么大多数 systemd 示例都包含 WantedBy=multi-user.target? 2019-03-15 11:49:25 +0800 CST
  • Martin Hope
    rocky 如何将 GPG 私钥和公钥导出到文件 2018-11-16 05:36:15 +0800 CST
  • Martin Hope
    Evan Carroll systemctl 状态显示:“状态:降级” 2018-06-03 18:48:17 +0800 CST
  • Martin Hope
    Tim 我们如何运行存储在变量中的命令? 2018-05-21 04:46:29 +0800 CST
  • Martin Hope
    Ankur S 为什么 /dev/null 是一个文件?为什么它的功能不作为一个简单的程序来实现? 2018-04-17 07:28:04 +0800 CST
  • Martin Hope
    user3191334 如何从 systemctl 服务日志中查看最新的 x 行 2018-02-07 00:14:16 +0800 CST
  • Martin Hope
    Marko Pacak Nano - 跳转到文件末尾 2018-02-01 01:53:03 +0800 CST
  • Martin Hope
    Kidburla 为什么真假这么大? 2018-01-26 12:14:47 +0800 CST
  • Martin Hope
    Christos Baziotis 在一个巨大的(70GB)、一行、文本文件中替换字符串 2017-12-30 06:58:33 +0800 CST

热门标签

linux bash debian shell-script text-processing ubuntu centos shell awk ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve