sed - 查找替换为带有多余引号的 sed
问题描述
与将高度测量值从英制单位转换为公制单位相关,但采用不同的方法。
我有一个数据集,其中有许多混合单位的值,特别是用英制和公制单位测量高度。此外,无论出于何种原因,所述英制尺寸包含过多的引号。
我曾认为,不是执行转换,而是大规模查找替换可能会起作用,因为人们的身高相对受到限制。例如,身高 5 英尺 3 英寸的人身高 160.02 厘米,因此可以找到所有的一个并用另一个替换它。
考虑数据集 test.csv 中的这一行
"Female","Hispanic",25,"5' 11"""
我想用“180.34”替换“5' 11”“”。
我已经尝试过sed -i 's#"5' 1"""#"180.34"#g' test.csv
,但唯一的结果输出是>
我的终端窗口中的一个字符,这表明我做错了什么,但不能完全弄清楚是什么。我是否缺少处理多余引号的东西?
解决方案
问题是 sed 表达式中的单引号5' 1
。
用于\x27
替换单引号:
sed -i 's#"5\x27 1"""#"180.34"#g' test.csv
推荐阅读
- java - 同步和异步如何同时工作
- javascript - 列表孩子没有正确更新?(反应/预演)
- security - 此页面的部分内容不安全
- php - Nginx '未指定输入文件。' 使用 php71 的 laravel 项目出错
- list - 来自局部变量的 rnd
- python - 在同一图 Matplotlib 上绘制时间序列和累积和
- python - Python pandas 解析 html 表以获取隐藏的值和链接
- vba - 将 VBA 宏应用于 Visio 中的不同页面
- excel - 合并工作簿 - 获取其他值并将它们添加到 C 列
- javascript - 需要在jsp的锚标签中显示javascript值