24小时热门版块排行榜    

查看: 269  |  回复: 2

wangliang221

新虫 (小有名气)

[交流] 【求助】linux中代码的含义 已有1人参与

下面是我在linux下运行的一个小程序的代码
其用处是删除指定文件的1-51行 (:1,51d),但运行结果却不是那样。
不知为何?尤其不知到ex $LF <<-EOD是啥意思?
麻烦指点一下,谢谢



#!/bin/sh

for LF in $@ ; do
echo "Removing block lines "$LF
ex $LF <<-EOD
        :1,51d
        :wq
EOD
done
回复此楼

» 猜你喜欢

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

snoopyzhao

至尊木虫 (职业作家)

★ ★
小木虫(金币+0.5):给个红包,谢谢回帖交流
余泽成(金币+1):谢谢参与应助! 2010-05-18 09:10:06
ex 是可执行程序
$LF 是文件名的变量

<<-EOD 和后面的 EOD 之间的部分是 ex 中的命令,EOD 在这里只是一个标识,表示起始和终止的地方。
2楼2010-05-18 07:41:07
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

snoopyzhao

至尊木虫 (职业作家)


余泽成(金币+1):辛苦了! 2010-05-18 09:10:16
为啥不用 sed,更方便一些……
3楼2010-05-18 07:41:37
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 wangliang221 的主题更新
普通表情 高级回复 (可上传附件)
信息提示
请填处理意见