标签: sed

如何使用sed删除文件的最后n行

我想从文件末尾删除一些n行.这可以用sed完成吗?

例如,要删除2到4行,我可以使用

$ sed '2,4d' file
Run Code Online (Sandbox Code Playgroud)

但我不知道行号.我可以删除最后一行使用

$sed $d file
Run Code Online (Sandbox Code Playgroud)

但我想知道从最后删除n行的方法.请告诉我如何使用sed或其他方法来做到这一点.

linux bash shell sed

132
推荐指数
10
解决办法
20万
查看次数

如何用sed替换包含斜杠的字符串?

我有一个Visual Studio项目,它是在本地开发的.必须将代码文件部署到远程服务器.唯一的问题是URLsthey包含硬编码.

项目包含URL,例如?page = one.要使链接在服务器上有效,它必须是/ page/one.

我决定在部署之前用sed替换我的代码文件中的所有URL,但是我坚持使用斜杠.

我知道这不是一个漂亮的解决方案,但它很简单会省去很多时间.我必须替换的字符串总数小于10.必须检查的文件总数约为30.

描述我的情况的示例如下:

我正在使用的命令:

sed -f replace.txt < a.txt > b.txt
Run Code Online (Sandbox Code Playgroud)

replace.txt包含所有字符串:

s/?page=one&/pageone/g
s/?page=two&/pagetwo/g
s/?page=three&/pagethree/g
Run Code Online (Sandbox Code Playgroud)

A.TXT:

?page=one&
?page=two&
?page=three&
Run Code Online (Sandbox Code Playgroud)

运行sed命令后b.txt的内容:

pageone
pagetwo
pagethree
Run Code Online (Sandbox Code Playgroud)

我希望b.txt包含:

/page/one
/page/two
/page/three
Run Code Online (Sandbox Code Playgroud)

sed

132
推荐指数
5
解决办法
16万
查看次数

在OS X上使用sed进行就地编辑

我想在OS X上使用sed编辑文件.我正在使用以下命令:

sed 's/oldword/newword/' file.txt
Run Code Online (Sandbox Code Playgroud)

输出发送到终端. file.txt未被修改.使用以下命令将更改保存到file2.txt:

sed 's/oldword/newword/' file1.txt > file2.txt
Run Code Online (Sandbox Code Playgroud)

但是我不想要另一个文件.我只想编辑file1.txt.我怎样才能做到这一点?

我试过-i标志.这会导致以下错误:

sed: 1: "file1.txt": invalid command code f
Run Code Online (Sandbox Code Playgroud)

macos file-io sed in-place

130
推荐指数
5
解决办法
8万
查看次数

检索最后100行日志

我需要从日志文件中检索最后100行日志.我尝试了sed命令

sed -n -e '100,$p' logfilename
Run Code Online (Sandbox Code Playgroud)

请让我知道如何更改此命令以专门检索最后 100行.

linux logging sed

128
推荐指数
5
解决办法
25万
查看次数

如何在图案前插入换行符?

不是如何在一行之前插入换行符.这是在询问如何在一行中的模式之前插入换行符.

例如,

sed 's/regex/&\n/g'
Run Code Online (Sandbox Code Playgroud)

将在正则表达式模式后插入换行符.

我怎么能在模式面前做同样的事情呢?

这是一个示例输入文件

some text (012)345-6789
Run Code Online (Sandbox Code Playgroud)

应该成为

some text
(012)345-6789
Run Code Online (Sandbox Code Playgroud)

shell sed

125
推荐指数
7
解决办法
25万
查看次数

grep,awk和sed有什么区别?

可能重复:
Perl,Python,AWK和sed有什么区别?
sed和awk有什么区别?

也许不是一个很具体的问题,但我感到困惑之间的差异grep,awksed在他们的Unix/Linux系统管理和文本处理的作用方面.

linux bash awk grep sed

121
推荐指数
3
解决办法
12万
查看次数

sed:仅打印匹配组

我想获取最后两个数字(一个int,一个float;后跟可选的空格)并仅打印它们.

例:

foo bar <foo> bla 1 2 3.4
Run Code Online (Sandbox Code Playgroud)

应打印:

2 3.4
Run Code Online (Sandbox Code Playgroud)

到目前为止,我有以下内容:

sed -n  's/\([0-9][0-9]*[\ \t][0-9.]*[\ \t]*$\)/replacement/p' 
Run Code Online (Sandbox Code Playgroud)

会给我的

foo bar <foo> bla 1 replacement
Run Code Online (Sandbox Code Playgroud)

但是,如果我尝试将其替换为组1,则会打印整行.

sed -n  's/\([0-9][0-9]*[\ \t][0-9.]*[\ \t]*$\)/\1/p' 
Run Code Online (Sandbox Code Playgroud)

如何仅打印与组中的正则表达式匹配的行的部分?

regex sed

119
推荐指数
5
解决办法
19万
查看次数

如何在Unix中删除文件中的重复行?

有没有办法在Unix中删除文件中的重复行?

我可以使用sort -uuniq命令,但我想使用sedawk.那可能吗?

unix shell scripting awk sed

118
推荐指数
6
解决办法
10万
查看次数

sed one-liner将全部大写转换为小写?

我有一个文本文件,其中一些单词打印在所有大写.我希望能够将文本文件中的所有内容转换为小写,使用sed.这意味着第一句话将会读到,'我有一个文本文件,其中一些单词都打印在所有大写字母中.'

regex sed

115
推荐指数
6
解决办法
15万
查看次数

如何选择两个标记图案之间的线条,这些线条可能会出现awk/sed多次

使用awksed如何选择两种不同标记图案之间的线条?可能有多个标有这些图案的部分.

例如:假设文件包含:

abc
def1
ghi1
jkl1
mno
abc
def2
ghi2
jkl2
mno
pqr
stu
Run Code Online (Sandbox Code Playgroud)

并且起始模式是abc和结束模式是mno So,我需要输出为:

def1
ghi1
jkl1
def2
ghi2
jkl2
Run Code Online (Sandbox Code Playgroud)

我使用sed匹配模式一次:

sed -e '1,/abc/d' -e '/mno/,$d' <FILE>
Run Code Online (Sandbox Code Playgroud)

有没有办法在sedawk 反复做,直到文件的结尾?

unix shell awk sed pattern-matching

114
推荐指数
5
解决办法
14万
查看次数

标签 统计

sed ×10

shell ×4

awk ×3

linux ×3

bash ×2

regex ×2

unix ×2

file-io ×1

grep ×1

in-place ×1

logging ×1

macos ×1

pattern-matching ×1

scripting ×1