sed 删除匹配行脚本 [英] Sed remove matching lines script

查看:67
本文介绍了sed 删除匹配行脚本的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在请求一个非常简单的脚本的帮助...

I'm requesting help with a very simple script...

#!/usr/bin/sed -f

sed '/11,yahoo/d'
sed '/2506,stackover flow/d'
sed '/2536,reddit/d'

只需要它删除我的文件 data.csv 中占 18408 的三个匹配项

Just need it to remove three matches that account for 18408 in my file, data.csv

% sed -f remove.sed < data.csv 
sed: 3: remove.sed: unterminated substitute pattern

单独执行这些相同的行完全没有问题,那么我做错了什么?

Doing these same lines individually is no problem at all, so what am I doing wrong with this?

使用 freeBSD 10.1 及其对 sed 的实现(如果有的话).

Using freeBSD 10.1 and its implementation of sed, if that matters.

推荐答案

这是一个 sed 脚本,不应该在每一行都有sed".

This, being a sed script, should not have "sed" at each line.

要么改为:

#!/usr/bin/sed -f

/11,yahoo/d
/2506,stackover flow/d
/2536,reddit/d

或到

#!/bin/sh

sed -e /11,yahoo/d \
-e /2506,stackover flow/d \
-e /2536,reddit/d

这篇关于sed 删除匹配行脚本的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆