hee*_*ayl 50
在sed
:
-i
选项将就地编辑输入文件
'1d'
将删除输入文件的第一行
例子:
% cat file.txt
foo
bar
% sed -i '1d' file.txt
% cat file.txt
bar
Run Code Online (Sandbox Code Playgroud)
请注意,大多数情况下,最好在使用该-i
选项时进行备份,以便在发生任何意外更改时备份原始文件。
例如,如果你这样做:
sed -i.orig '1d' file.txt
Run Code Online (Sandbox Code Playgroud)
原始文件将保持原样file.txt.orig
,修改后的文件将是file.txt
.
voi*_*ces 16
sed '1d' file.txt
Run Code Online (Sandbox Code Playgroud)
打印内容file.txt
;不包括第一行;到标准输出。
sed -i '1d' file.txt # GNU, NetBSD, OpenBSD
sed -i '' '1d' file.txt # FreeBSD, macOS
Run Code Online (Sandbox Code Playgroud)
打印内容file.txt
;不包括第一行;回到file.txt
; 覆盖原来的。
sed -i.back '1d' file.txt
Run Code Online (Sandbox Code Playgroud)
file.txt.back
在进行更改之前创建原始备份(作为)。除了 FreeBSD sed
,后缀(此处.back
)必须附加到-i
选项(在同一个参数中,-i
和之间没有空格.back
)。
sed '2d' file.txt
Run Code Online (Sandbox Code Playgroud)
打印内容file.txt
;不包括第二行;到标准输出。
(指定任何数字将删除相应的行)。
也兼容-i
标志。
sed '1!d' file.txt
Run Code Online (Sandbox Code Playgroud)
打印内容file.txt
;不包括所有但第一行; 到标准输出。
(换句话说;只打印第一行)。
也兼容-i
标志。
sed '$d' file.txt
Run Code Online (Sandbox Code Playgroud)
打印内容file.txt
;不包括最后一行;到标准输出。
也兼容-i
标志。
小智 5
在sed -h
有:
-i[SUFFIX], --in-place[=SUFFIX]
edit files in place (makes backup if SUFFIX supplied)
Run Code Online (Sandbox Code Playgroud)
和“对文件本身执行操作”。绝对是。
并man
说:'Sed 是一个流编辑器。流编辑器用于对输入流(文件或来自管道的输入)执行基本文本转换。
作为你的问题,
sed -i '1d' file_name
Run Code Online (Sandbox Code Playgroud)
意思是:删除文件"file_name"
中的第一行并备份到文件。(就像编辑文件并直接删除第一行一样。)