sed 常用命令

sed 
简介:非交谈式编辑器(vi和ex都属于交谈式编辑器)
采用非破坏性的编辑方式,也就是不会改变文件的内容,除非了使用输出转向,默认是所有的输出都

会显示在屏幕上。

$sed -v(--version)查看sed版本

格式:sed 'command' filename
地址处 可以是数字或规则表达式,也可是两者的混合,若未指定地址,sed会处理输入文件
的每一行;EX: $sed '1,3d' testfile --删除1-3行,并显示其他行
$sed -n '/[Jj]onsh/p' testfile--打印出有jonsh或Jonsh的行
$sed '/Tom/!d' testfile--删除所有不包含Tom 的行

command 选项有-e,-f,-n。-e是用来编辑几个文件;-f在sed命令文件前加上文件名;-n表示

略过输出

命令实例:(以datafile文件为例)

1)打印信息 p    $sed '/west/p' datafile  ---打印出所有信息,并把含有west的行打印两遍;

$sed -n '/west/p' datafile  ---只打印出含有west的行

2)删除 d          $sed '3d' datafile ---删除第三行并打印其他行;

$sed '4,$d' datafile  ---删除从第四行到文件末尾的所有行,剩下的行会被打印出来

3)替换命令 s  $sed 's/west/north/g' datafile --- 替换文件内所有的west 为north,

其中,g表示全局,若无g,则只替换每行的第一个。(与vim中:/s/***/***/g 相同);

** $sed 's/[0-9][0-9]$/&.5/' datafile --- &代表在查找字符串里确实被找到的东西。这句话的意思就是:每

一行结尾是两个数字的,都会被她自己替换,并且在后面附加0.5;

** $sed 's#3##88#g' datafile

4)逗号 $sed -n '/west/,/east/p' datafile ---含有west 和east 字符的两行

之间的所有行都会被打印出来(west 和east完全视那个先出现而定);

$sed -n '/west/,/east/s$/*LAT*/' datafile ---在west和east存在的所有行之间的结尾都加上 *LAT*

5)读取文件 r $sed '/susan/r newfile' datafile ---文件newfile的内容被读入文件datafile,插入到含有susan的行后面.
6)写入文件 w $sed -n '/north/w newfile' datafile ---取datafile中含有north的行,并写入到newfile文件中(若newfile中有信息,则会被覆盖)
<!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <title>Document</title> </head> <body> <h1>文件上传表单</h1> <form method="post" enctype="multipart/form-data"> <label for="videoFile">选择视频文件:</label> <input type="file" id="videoFile" name="videoFile" accept="video/*" required> <button type="submit">上传</button> </form> <script> console.log("脚本测试"); const form = document.querySelector("form"); form.addEventListener("submit", (event) => { event.preventDefault(); const fileInput = document.querySelector("#videoFile"); const file = fileInput.files[0]; const fileName = file.name; const data = { fileName: fileName }; fetch('/demo/get_presigned_url_for_oss_upload', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify(data) }) .then((response) => { if (!response.ok) { throw new Error("获取预签名URL失败"); } return response.text(); }) .then((url) => { console.log("签名URL地址 ",url); fetch(url, { method: "PUT", headers: new Headers({ "Content-Type": "video/mp4", }), body: file, }).then((response) => { if (!response.ok) { throw new Error("文件上传到OSS失败"); } console.log(response); alert("文件已上传"); }); }) .catch((error) => { console.error("发生错误:", error); alert(error.message); }); }); </script> </body> </html> 以上内容出现报错如下: Whitelabel Error Page This application has no explicit mapping for /error, so you are seeing this as a fallback. Mon Oct 27 16:32:30 CST 2025 There was an unexpected error (type=Method Not Allowed, status=405).
最新发布
10-28
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值