linux 下用shell sed替换文本中的字符串

txt文本中有这样的内容:"Hour\n",也就是Hour字符串后面有一个换行符,我想把这个换行符删除掉,但是文件中许多不能删除掉的\n,所以我就想用sed's/Hour... txt文本中有这样的内容:"Hour\n", 也就是Hour字符串后面有一个换行符,我想把这个换行符删除掉,但是文件中许多不能删除掉的\n,所以我就想用 sed 's/Hour\n/Hour/g' file 把它替换成"Hour",但是没有成功,请问这样做有什么问题?应该怎么做?谢谢!! 展开
 我来答
欧洲竹子2a
2013-04-16 · TA获得超过232个赞
知道小有建树答主
回答量:191
采纳率:0%
帮助的人:202万
展开全部
sed是行编辑器,用这个工具非常困难。可以参考以下脚本:

#!/bin/bash
while read line
do
if echo $line | grep 'Hour$' >/dev/null; then
echo $line | tr -d '\n'
else
echo $line
fi
done < $1

1,将上面脚本保存为fuck.sh
2,chmod 755 fuck.sh
3,./fuck.sh file
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
马家马甲
2013-04-17
知道答主
回答量:27
采纳率:25%
帮助的人:10.7万
展开全部
sed 's/Hour\\n/Hour/' tt.txt
在前面\n加个转义字符\就可以了,这样比较好理解
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
huaizong
2013-04-16 · 超过18用户采纳过TA的回答
知道答主
回答量:54
采纳率:0%
帮助的人:53.6万
展开全部
sed 'N;s/Hour\n/Hour/' tt.txt
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式