【问题标题】:Unix cut command for empty string空字符串的 Unix 剪切命令
【发布时间】:2018-02-10 07:55:23
【问题描述】:

我正在尝试使用 cut -f 来获得以下所需的部分:

""
""
""HTTP/1.1""200""OK""

为了获得HTTP/1.1,我需要这样做:

cut -f 3,3 -d '"'

结果将是:

empty
empty
HTTP/1.1

所以前两行是空的,(我用“空”来表示)

但我需要保留空字符串:

""
""
HTTP/1.1

我想我需要引入if-else,如果原行为空则停止剪切,只保留""?但是如何使用单行 bash 来做到这一点?

谢谢

======= 一个后续问题: 如何改变

,,,

,"","",""

s/^$/\"\"/g 在这里不起作用。

【问题讨论】:

    标签: string unix cut


    【解决方案1】:

    您可以将cut 命令的结果通过管道传输到:

    sed s/^$/\"\"/g 
    

    它将用""替换空行。

    即:

    cut -f 3,3 -d '"' | sed s/^$/\"\"/g
    

    【讨论】:

    • 谢谢!运行良好...所以 ^$ 表示为空?
    • 是的,它匹配一个空行
    • 嗨,你能帮忙看看我的后续问题(我编辑我的帖子)吗?谢谢
    • @user815408 不是sed s/,/,\"\"/g你想要的吗?
    • ^$ 只匹配空行
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-04-23
    • 1970-01-01
    • 2014-08-06
    • 1970-01-01
    • 1970-01-01
    • 2013-08-26
    • 1970-01-01
    相关资源
    最近更新 更多