首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

删除以#开头的行,但不删除#!/bin/ksh行

这个问答内容涉及到脚本文件的处理,具体来说是删除以#开头的行,但不删除#!/bin/ksh行。以下是一个可能的解决方案:

#!/bin/ksh

删除以#开头的行,但不删除#!/bin/ksh行

sed '/^#!/bin\/ksh/! s/^#.*//' filename

解释:

  • #!/bin/ksh 表示使用ksh作为解释器。
  • sed是一个流编辑器,用于处理文本文件。上述命令使用sed命令来删除以#开头的行,但保留以#!/bin/ksh开头的行。
  • /^#!/bin\/ksh/! 表示不匹配以#!/bin/ksh开头的行。
  • s/^#.*// 表示将以#开头的行替换为空,即删除以#开头的行。
  • filename 是要处理的文件名。

这个解决方案可以应用于任何脚本文件,可以通过将filename替换为实际的文件名来处理相应的文件。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • Linux系列--shell基础语法

    Shell(/usr/bin/csh) K Shell(/usr/bin/ksh) Shell for Root(/sbin/sh) 我们常用shell解释器是Bourne Again Shell...Bourne Again Shell是免费,也是大多数Linux系统默认shell。 我们在编写shell脚本时候,通常都会在第一标记: #!/bin/bash。#!...不能以数字开头: 变量名不能以数字开头,但可以包含数字。...,即等号后面的部分 tr 命令用于字符替换或删除 tr -d ‘[ ]’ -d 参数表示删除指定字符,‘[ ]’ 表示空格,所以此命令将删除提取出字符串中所有空格 set 是流编辑器,用于对输入流进行各种文本转换操作...,例如【sed ‘s/\r//g’】‘s/\r//g’ 是一个替换命令,寻找每一结尾回车符(\r),并将它们替换为空(即删除) [ !

    13510

    Shell 编程(五):文本三剑客之 sed

    sbin/halt 删除以 mail 开头到以 ftp 开头 > sed -i '/^mail/,/^ftp/d' passwd 将能登入用户追加一 ‘This is user which...查询命令 含义 1d 删除第 1 行内容 1,10d 删除 1 到 10 内容 1,+5d 删除 1 到 6 内容 /pattern1/d 删除每行中匹配到 pattern1 行内容 /...pattern1/,/pattern2/d 删除匹配到 pattern1 直到匹配到 pattern2 所有行内容 /pattern1/,10d 删除匹配到 pattern1 到 10 所有行内容...删除 /etc/passwd 中第 15 > sed -i '15d' passwd 删除 /etc/passwd 中第 5 到以 ftp 开头所有内容 > sed -i '5,/^ftp.../g' passwd > cat passwd 修改 /etc/passwd 中从第 15 开始,到匹配到以 yarn 开头所有,修改内容为将这些 bin 换位 BIN > sed -i

    79610

    Shell 编程(五):文本三剑客之 Sed

    :/sbin:/sbin/halt Bash Copy 删除以 mail 开头到以 ftp 开头 > sed -i '/^mail/,/^ftp/d' passwd Bash Copy 将能登入用户追加一...查询命令 含义 1d 删除第 1 行内容 1,10d 删除 1 到 10 内容 1,+5d 删除 1 到 6 内容 /pattern1/d 删除每行中匹配到 pattern1 行内容 /...pattern1/,/pattern2/d 删除匹配到 pattern1 直到匹配到 pattern2 所有行内容 /pattern1/,10d 删除匹配到 pattern1 到 10 所有行内容...Bash Copy 修改 /etc/passwd 中从匹配到以 root 开头,到匹配到中包含 mail 所有。.../SPARK/g' passwd > cat passwd Bash Copy 修改 /etc/passwd 中从第 15 开始,到匹配到以 yarn 开头所有,修改内容为将这些 bin

    22430

    shell脚本极简教程

    Shell脚本和编程语言很相似,也有变量和流程控制语句,但Shell脚本是解释执行,不需要编译,Shell程序从脚本中一读取并执行这些命令,相当于一个用户把脚本中命令一敲到Shell提示符下执行...该shell其实是指向/bin/tcsh这样一个shell,也就是说,csh其实就是tcsh。 kshksh 是Korn shell缩写,由Eric Gisin编写,共有42条内部命令。...这里"系统",其实就是shell这个应用程序(想象一下Windows Explorer),但我故意写成系统,是方便理解,既然这个系统就是指shell,那么一个使用/bin/sh作为解释器脚本是不是可以省去第一呢...作为解释器参数   这种运行方式是,直接运行解释器,其参数就是shell脚本文件名,如: /bin/sh test.sh/bin/php test.php   这种方式运行脚本,不需要在第一指定解释器信息...可以使用变量替换形式: 形式 说明 ${var} 变量本来值 ${var:word} 如果变量 var 为空或已被删除(unset),那么返回 word,但不改变 var 值。

    1.8K60

    Linux中vim基本介绍和使用

    模式:如果前两个模式是对于文本内容控制,底模式就是让vim进行包括但不限于和shell进行交互。 2、命令模式详情 命令模式:没必要进入插入模式才能对文本进行操作。...yy:复制当前行 p:粘贴到当前光标的下一 u:撤销 dd:剪切/删除 n dd:剪切/删除n n p:粘贴n n yy:复制n $:快速定位光标到当前行最末尾 ^:快速定位光标到当前行开头...gg:将光标定位到文本开头 G:将光标定位到文本最末尾 n G:定位到指定n h:光标向左一位 j:光标向下一位 k:光标向上一位 l:光标向右一位 n h:光标向左n位 n j:光标向下...,先向后完后向前 n x:删除光标所在位置n个 X:删除光标之前字符 r:对光标指定位置,进行一个字符替换 n r:对光标指定位置,进行n个字符替换 R:进入replace模式,能够进行多次替换...这样的话也符合Linux多用户操作系统作用,每一个人都可以个性化配置vim。可以但不限于set nu。 6、2、一键式配置 在网上寻找例如gitte或者github上教程。

    10510

    Shell脚本学习1

    Shell脚本学习 1、Shell简介 Shell是一种脚本语言,那么,就必须有解释器来执行这些脚本 Unix/Linux上常见Shell脚本解释器有bash、sh、csh、ksh等,习惯上把它们称作一种...是一个约定标记,它告诉系统这个脚本需要什么解释器来执行,即使用哪一种Shell 以#开头就是注释,会被解释器忽略,sh里没有多行注释 3、echo/printf/read echo使用: echo...) \f 换页(FF),将当前位置移到下页开头 \n 换行 \r 回车 \t 水平制表符(tab键) \v 垂直制表符 shell默认是不转义上面的字符,需要加-e选项: #!...可以使用变量替换形式: 形式 说明 ${var} 变量本来值 ${var:-word} 如果变量 var 为空或已被删除(unset),那么返回 word,但不改变 var 值。...${var:+word} 如果变量 var 被定义,那么返回 word,但不改变 var 值。 7、Shell脚本样例 下面的脚本用于php安装过程中安装zip扩展: #!

    31120

    sed & awk 第二版学习(三)—— 编写 sed 脚本

    这个错误只是脚本命令中顺序问题,技巧在于反转命令顺序: s/cow/horse/ s/pig/cow/ 一些 sed 命令会改变整个脚本流程,例如 N 命令将另一读入模式空间但不删除当前行...删除 .TS 开头,一直到(包含).TE 开头: /^\.TS/,/^\.TE/d 删除 50 到最后一所有: 50,$d 可以混合使用地址和模式地址。...跟在地址后面的感叹号会反转匹配意义。 删除除了 .TS 到 .TE(实际上是提取 .TS 到 .TE) 开头: /^\.TS/,/^\.TE/!...删除 .TS 开头到(包含).TE 开头空行: /^\.TS/,/^\.TE/{ /^$/d } 左大括号必须在行末,而且右大括号必须独占一。要确保在大括号后没有空格。...删除每行所有的前导空格。 删除打印机下划线,即以“+”开始删除添加在两个单词之间多个空格。

    6210

    Liunx命令行:vi详解

    }:光标移至段落开头 {:光标移至段落结尾 nG:光标移至第n首 n+:光标下移n n-:光标上移n n$:光标移至第n行尾 H :光标移至屏幕顶 M :光标移至屏幕中间...删除光标处开始及其后n-1个字 do:至行首 d$:至行尾 ndd:删除当前行及其后n-1 x或X:删除一个字符,x删除光标后,而X删除光标前 Ctrl+u:删除输入方式下所输入文本...中内容并将其放到光标位置处。这里?可以是一个字母,也可以是一个数字 ndd:将当前行及其下共n行文本删除,并将所内容放到1号删除寄存器中。...—- 使用命令“:%s#/usr/bin#/bin#g”可以把文件中所有路径/usr/bin换成/bin。...也可以使用命令“:%s//usr/bin//bin/g”实现,其中“”是转义字符,表明其后“/”字符是具有实际意义字符,不是分隔符。

    90510

    C00000D4 C0000034 update

    C00000D4 遇到了基本就是替换备份注册表了,其他办法没用C0000034 update 常见,但很少见到一篇细致文档图片C:\Windows\WinSxS\pending.xml 中删除需要更新配置...,如上图带部分路径字符串以备后用当然,也可以简简单单,就用C0000034界面括号里关键词,比如wextract.exe这个case,我就用wextract.exe搜到2对(4),直接删除pending.xml...通过观察,发现以<HardlinkFile和<SetFileInformation开头是成对出现,且都有关键字“wextract.exe”,删除成对出现,然后保存pending.xml,重启机器选择从本地硬盘启动...(不是从winpe启动)看看效果如果是搜从poqexec.log中获取带部分路径长字符串,正常情况下只会搜到一个结果,但不是只那一就完事了,至少要删成对出现2图片图片如果搜到小节不多,别嫌烦...,建议都下,如果非常多,那可以先临时在winpe里把pending.xml重命名一下然后重启机器试试。

    60820

    Shell 编程日记

    shell;主要是为了让用户更容易使用交互式功能,并把ALGOL风格语法结构变成了C语言风格 Korm Shell /usr/bin/ksh 贝尔实验室David Korn在上世纪80年代初开发基于...等语句控制; Shell 脚本句末无须标点符号标记,换行即表示语句结束; Shell 脚本严格区分大小写,a 和 A 是完全不同两个字符串; Shell 脚本通常以 /usr/bin/bash 开头...,必须以此句开头,表示 shell 脚本解释器; Shell 脚本注释用 # 开头,但第一句除外/usr/bin/bash; Shell 脚本通常以 .sh 为后缀命名,约定成俗; Shell 脚本调试可以使用...// 删除操作 sed '5d' file // 删除文件 file 第 5 行内容 sed '2,7d' file // 删除文件 file 第 2~7 行内容 sed '7,$d' file...// 删除文件 file 第 7 以后所有的 // 插入操作,如果使用变量,请使用双引号 sed -i "Line i str" file // 在 Line行前插入 str(新),i 前可以加数字

    20320

    linux下vi命令大全

    光标移至段落开头 {:光标移至段落结尾 nG:光标移至第n首 n+:光标下移n n-:光标上移n n:光标移至第n行尾 H :光标移至屏幕顶 M :光标移至屏幕中间 L :光标移至屏幕最后行...:删除光标处开始及其后n-1个字 do:至行首 d$:至行尾 ndd:删除当前行及其后n-1 x或X:删除一个字符,x删除光标后,而X删除光标前 Ctrl+u:删除输入方式下所输入文本...中内容并将其放到光标位置处。这里?可以是一个字母,也可以是一个数字 ndd:将当前行及其下共n行文本删除,并将所内容放到1号删除寄存器中。...—- 使用命令“:%s#/usr/bin#/bin#g”可以把文件中所有路径/usr/bin换成/bin。...也可以使用命令“:%s//usr/bin//bin/g”实现,其中“”是转义字符,表明其后“/”字符是具有实际意义字符,不是分隔符。

    16.2K30

    计算机教育中缺失一课

    Linux 上常见 Shell 有: Bourne Shell(/usr/bin/sh 或 /bin/sh) Bourne Again Shell(/bin/bash) C Shell(/usr/bin.../csh) K Shell(/usr/bin/ksh) Shell for Root(/sbin/sh) 虽然细节上有些许差异,但核心功能是一样:允许你执行程序,输入指令并获取某种半结构化输出。...第一内容显示了最近一次登录时间。有些同学会好奇,“ttys000”是什么鬼? 简单来说,tty 是终端统称。...如果某个路径以 / 开头,那么它就是一个绝对路径,其他都是相对路径。当前工作目录可以通过 pwd 命令来获取,切换目录通过 cd 命令。. 表示是当前目录,.. 表示上级目录。 ?...注意,rm (删除文件)这个命令一定要慎用啊,搞不好就是库跑路节奏! 在 Shell 中,程序主要有两个流:输入流和输出流。

    1.1K20

    Linux入门篇 —— 超实用 Linux 常用命令

    - 内部命令:系统自带,随系统内核一起启动(56) - 外部命令:一些额外软件或者程序 sh (Borurne Shell) csh ksh BASH: 是rhel中默认一种 shell...清空历史命令 - history -c 字体放大 - CTRL + SHIFT + + 字体缩小 - CTRL + - Linux 目录结构 --- boot:存放系统引导文件和内核文件 bin...ls: 列出当前目录下文件或者目录在Liunx中,以.开头文件是隐藏文件 - 格式: ls [选项] [目录或文件名] - 选项: - -l 以长格式显示 - -a 显示所有文件目录信息,包括隐藏文件.../aa/a.txt . rm: 删除文件或目录rm -rf * 从库到跑路 - 格式: rm [选项] 文件或者目录 - -r: 递归删除整个目录树 - -f: 强制删除不给任何提示 mv:移动文件或者目录...开头 3. "...$": 表示以...

    83287

    Linux文件与目录管理、Bash Shell基本使用

    shell (CLI) sh dash ksh bash rbash … 当前shell echo “$SHELL” 3:Shell提示符 程序:指令+数据 指令+库+配置文件+帮助文档 管理员:...提示符 # 普通用户 提示符 $ 环境变量:env命令 4:文件与目录管理(见PPT) Linux目录层级: ① /bin:全局指令文件所在路径 ② /home:普通用户家目录所在路径...-l:查看文件基本属性信息 -d:查看目录本身相关属性信息 -h:以易于阅读方式查看文件占用磁盘空间 -R:递归显示目录及其子目录以及其下文件 查看目录ls 切换目录 cd .开头为隐藏文件...剪切 (如果对目录进行移动,则会自动删除目录) -f:强行移动,不提示 删除:rm(非常危险,不会触发回收站) -r:递归删除 -f:强行删除 创建空文本文件:touch (也可以更新时间戳)...加命令开头关键字执行之前那条命令(也可以接数字,例如!

    1.3K10

    linuxvi命令详解_useradd命令详解

    }:光标移至段落开头 {:光标移至段落结尾 nG:光标移至第n首 n+:光标下移n n-:光标上移n n:光标移至第n行尾 H :光标移至屏幕顶 M :光标移至屏幕中间 L...ndw或ndW:删除光标处开始及其后n-1个字 do:至行首 d$:至行尾 ndd:删除当前行及其后n-1 x或X:删除一个字符,x删除光标后,而X删除光标前 Ctrl...中内容并将其放到光标位置处。这里?可以是一个字母,也可以是一个数字 ndd:将当前行及其下共n行文本删除,并将所内容放到1号删除寄存器中。...—- 使用命令“:%s#/usr/bin#/bin#g”可以把文件中所有路径/usr/bin换成/bin。...也可以使用命令“:%s//usr/bin//bin/g”实现,其中“”是转义字符,表明其后“/”字符是具有实际意义字符,不是分隔符。

    10.8K10
    领券