linux下删除n行的命令

worktile 其他 245

回复

共3条回复 我来回复
  • 不及物动词的头像
    不及物动词
    这个人很懒,什么都没有留下~
    评论

    在Linux下,可以使用以下几种命令删除n行内容:

    1. 使用sed命令:
    “`sh
    sed -i ‘1,nd’ file.txt
    “`
    这个命令将会删除file.txt文件中的前n行内容。

    2. 使用head命令和tail命令的组合:
    “`sh
    tail -n +n file.txt | head -n $(( n – 1 )) > temp.txt && mv temp.txt file.txt
    “`
    这个命令使用tail命令取出从第n行开始的所有内容,并使用head命令取出前n-1行内容,然后将结果保存到temp.txt文件中,最后将temp.txt文件重命名为file.txt,实现删除前n行的效果。

    3. 使用awk命令:
    “`sh
    awk ‘NR>n’ file.txt > temp.txt && mv temp.txt file.txt
    “`
    这个命令可以使用awk命令来过滤出行号大于n的行,并将结果保存到temp.txt文件中,然后将temp.txt文件重命名为file.txt,实现删除前n行的效果。

    以上三种命令都可以实现删除文件中前n行的操作,你可以根据具体的使用场景选择合适的命令。

    2年前 0条评论
  • worktile的头像
    worktile
    Worktile官方账号
    评论

    在Linux下,删除n行的命令可以使用`sed`和`head`命令。

    1. 使用sed命令删除行:
    `sed -i ‘1,nd’ filename`
    这个命令将从文件的第一行到第n行进行删除。其中,n是要删除的行数,filename是要修改的文件名。这个命令还可以在删除前创建文件的备份。

    2. 使用head和tail命令删除行:
    `head -n filename > temp.txt`
    `tail -n +n temp.txt > newfile.txt`
    这个命令将文件的前n行存储到一个临时文件temp.txt中,然后从第n+1行开始存储到新的文件newfile.txt中。需要注意的是,filename是要修改的文件名,n是要删除的行数。

    3. 使用awk命令删除行:
    `awk ‘NR>n’ filename > newfile.txt`
    这个命令将文件的行号大于n的行输出到新的文件newfile.txt中。其中,filename是要修改的文件名,n是要删除的行数。

    4. 使用vi编辑器删除行:
    在命令行中打开文件:
    `vi filename`
    进入编辑模式,输入:
    `:nd`
    其中,n是要删除的行数。然后按回车键,可以将第n行删除。保存文件并退出vi编辑器:
    `:wq`

    5. 使用grep和sed命令删除行:
    `grep -v “pattern” filename | sed ‘/^$/d’ > newfile.txt`
    这个命令将文件中不包含特定模式的行过滤出来,并使用sed命令删除空行。然后将结果存储到新的文件newfile.txt中。其中,pattern是要删除的行的特定模式,filename是要修改的文件名。

    以上是在Linux下删除n行的几种常用命令,根据实际情况可以选择适合的命令进行操作。

    2年前 0条评论
  • fiy的头像
    fiy
    Worktile&PingCode市场小伙伴
    评论

    在Linux下,我们可以使用一些命令来删除文本文件中的特定行。下面是删除n行的几种方法:

    方法一:使用sed命令
    “`
    sed -i ‘1,nd’ filename
    “`
    上述命令将从文件中删除第1行到第n行之间的内容,”filename”是文件名,”n”是要删除的行数。

    方法二:使用awk命令
    “`
    awk ‘NR>n’ filename > temp && mv temp filename
    “`
    上述命令将从文件中删除前n行的内容,”filename”是文件名,”n”是要删除的行数。

    方法三:使用head命令和tail命令
    “`
    tail -n +n filename > temp && mv temp filename
    “`
    上述命令将从文件中删除前n行的内容,”filename”是文件名,”n”是要删除的行数。

    方法四:使用vi/vim编辑器
    “`
    vi/vim filename
    “`
    在vi/vim编辑器中,按下Esc键退出编辑模式,然后输入”:1,nd”命令,将删除第1行到第n行的内容。最后按下Enter键保存并退出编辑器,即可删除指定行数。

    方法五:使用grep命令和grep的-v选项
    “`
    grep -v “^.\{1,n\}$” filename > temp && mv temp filename
    “`
    上述命令将从文件中删除前n行的内容,”filename”是文件名,”n”是要删除的行数。

    方法六:使用Perl脚本
    “`
    perl -ni -e ‘print unless 1..n;’ filename
    “`
    上述命令将从文件中删除前n行的内容,”filename”是文件名,”n”是要删除的行数。

    无论使用哪种方法,请确保在操作前备份文件,以防止意外情况发生。

    2年前 0条评论
注册PingCode 在线客服
站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部