【问题标题】:Given string and its substring, how could I add white space after substring using unix给定字符串及其子字符串,如何使用 unix 在子字符串后添加空格
【发布时间】:2015-10-30 08:06:03
【问题描述】:

假设子字符串是唯一的,例如,给定字符串, washington aveLansing, MI 我怎样才能找到 street 并在其后添加一个空格。 washington ave Lansing, MI

【问题讨论】:

  • "street" 和 "ave" 不是同一个字符串。
  • 您需要提供更多信息。它是一个字符串模式,一个长度,......定义你的 field info 之间的分隔

标签: shell unix awk sed


【解决方案1】:

如果我正确地解决了您的问题。您正在尝试在字符串模式之后添加空格。

echo "华盛顿大道兰辛,密歇根" | sed -e "s/ave/ave /g"

【讨论】:

  • 不需要 -e 选项。在这里我们不需要全局替换。
【解决方案2】:

您可以使用 sed 命令。您可以使用以下示例。

sed 's/ ave/ ave /'

它将按您的预期工作。如果您想给出任何其他街道名称,您可以将 ave 修改为街道名称。

【讨论】:

    【解决方案3】:

    使用awk

    awk '{sub("Lansing"," &");print}'  input
    washington ave Lansing, MI
    

    如果你有不止一条线使用

    awk '{sub("[A-Z]", " &", $2)}1' input
    washington ave Lansing, MI
    state street Chicago, IL
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-11-24
      • 1970-01-01
      • 2023-01-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多