【问题标题】:How to search and replace ], [ using sed? [closed]如何使用sed搜索和替换]、[? [关闭]
【发布时间】:2022-01-24 02:38:40
【问题描述】:

我有一个 csv 文件,其中包含逗号分隔的数组,而这些数组在尝试加载文件时又不能正常播放。

我想使用 sed 命令搜索 ],[ 并替换为 ] & [

另外,我想使用 sed 命令搜索所有带有空格 , 的逗号字符并替换为下划线 _

任何建议或字符转义或编码?我目前收到与“不平衡括号”和“无效命令代码 j”相关的终端错误

【问题讨论】:

  • 如果您将代表性的意见和迄今为止的尝试添加到问题中,那么帮助您会容易得多。
  • 您是否按照每个教程的建议尝试使用反斜杠转义特殊字符?也许sed 's/\],\[/\] \& \[/'
  • 请查看help center,尤其是How to ask,以及提供minimal reproducible example 的指南。
  • 嗨,OP。让我们知道答案是否有帮助。如果它有用,请考虑支持它。如果它回答了您的问题,请接受它。这样其他人就知道你已经(充分地)得到了帮助。另见What should I do when someone answers my question?

标签: sed encoding


【解决方案1】:

如果您正在处理数组,您的输入文件可能如下所示:

[A,B,C,D],[E,F,G,H], [1,2,3,4],[5,6,7,8]

此 sed 命令在单个命令中将 ],[ 替换为 ] & [ 并将 , 替换为 _

sed -e 's/\],\[/\] \& \[/g' -e 's/, /\_/g' input.txt

输出:

[A,B,C,D] & [E,F,G,H]_[1,2,3,4] & [5,6,7,8]

\ 用于[& 等特殊字符,以避免出现“不平衡括号”和“无效命令代码j”等终端错误。要在一行中执行多个 sed 命令,您可以为每个命令使用-e

【讨论】:

    猜你喜欢
    • 2014-09-13
    • 2015-01-04
    • 1970-01-01
    • 1970-01-01
    • 2012-07-08
    • 1970-01-01
    • 1970-01-01
    • 2010-11-05
    相关资源
    最近更新 更多