在linux命令行下如何将指定的几行内容写入到一个文件中?

如题所述

Linux下可以用sed命令向文件中追加内容。

案例:把/etc/test1文件中1-10行内容写入到test2中

sed -n '1,10'p /etc/test1 >>test2
#将file1的1-10行追加到file2

sed命令行格式为:
sed [-nefri] ‘command’ 输入文本        

常用选项:
-n∶使用安静(silent)模式;

-e∶直接在指令列模式上进行 sed 的动作编辑;

-f∶直接将 sed 的动作写在一个档案内;

-r∶sed 的动作支援的是延伸型正规表示法的语法;

-i∶直接修改读取的档案内容,而不是由萤幕输出。      

温馨提示:内容为网友见解,仅供参考
第1个回答  2015-08-04
覆盖型写法 (文件里原来的内容被覆盖)
echo "aaa" > a.txt
echo aaa > a.txt
添加型写法 (新内容添加在原来内容的后面)
echo "aaa" >> a.txt
echo aaa >> a.txt
其中 echo >or>> file,
在 user space 中会赋值到 buf 中为 string+换行符,
传入到 kernel space 时,buf 为 string+换行符,strlen(buf) = strlen(string) + 1;
MicrosoftInternetExplorer402DocumentNotSpecified7.8Normal0
echo命令的功能是在显示器上显示一段文字,一般起到一个提示的作用。
该命令的一般格式为: echo [ -n ] 字符串
其中选项n表示输出文字后不换行;字符串能加引号,也能不加引号。用echo命令输出加引号的字符串时,将字符串原样输出;用echo命令输出不加引号的字符串时,将字符串中的各个单词作为字符串输出,各字符串之间用一个空格分割。
功能说明:显示文字。
语   法:echo [-ne][字符串]或 echo [--help][--version]
补充说明:echo会将输入的字符串送往标准输出。输出的字符串间以空白字符隔开, 并在最后加上换行号。
参   数:-n 不要在最后自动换行
-e 若字符串中出现以下字符,则特别加以处理,而不会将它当成一般
文字输出:
\a 发出警告声;
\b 删除前一个字符;
\c 最后不加上换行符号;
\f 换行但光标仍旧停留在原来的位置;
\n 换行且光标移至行首;
\r 光标移至行首,但不换行;
\t 插入tab;
\v 与\f相同;
\\ 插入\字符;
\nnn 插入nnn(八进制)所代表的ASCII字符;
–help 显示帮助
–version 显示版本信息
ECHO命令是大家都熟悉的DOS批处理命令的一条子命令,但它的一些功能和用法也许你并不是全都知道,不信你瞧:
1. 作为控制批处理命令在执行时是否显示命令行自身的开关 格式:ECHO [ON|OFF] 如果想关闭“ECHO OFF”命令行自身的显示,则需要在该命令行前加上“@”。
2. 显示当前ECHO设置状态 格式:ECHO
3. 输出提示信息格式:ECHO信息内容上述是ECHO命令常见的三种用法,也是大家熟悉和会用的,但作为DOS命令淘金者你还应该知道下面的技巧:
4. 关闭DOS命令提示符 在DOS提示符状态下键入ECHO OFF,能够关闭DOS提示符的显示使屏幕只留下光标,直至键入ECHO ON,提示符才会重新出现。
5. 输出空行,即相当于输入一个回车格式:ECHO.值得注意的是命令行中的“.”要紧跟在ECHO后面中间不能有空格,否则“.”将被当作提示信息输出到屏幕。另外“.”可以用,:;”/[/]+等任一符号替代。在下面的例子中ECHO.输出的回车,经DOS管道转向作为TIME命令的输入,即相当于在TIME命令执行后给出一个回车。所以执行时系统会在显示当前时间后,自动返回到DOS提示符状态: C:〉ECHO.|TIME ECHO命令输出空行的另一个应用实例是:将ECHO.加在自动批处理文件中,使原本在屏幕下方显示的提示画面,出现在屏幕上方。
6. 答复命令中的提问格式:ECHO答复语|命令文件名上述格式可以用于简化一些需要人机对话的命令(如:CHKDSK/F;FORMAT Drive:;del *.*)的操作,它是通过DOS管道命令把ECHO命令输出的预置答复语作为人机对话命令的输入。下面的例子就相当于在调用的命令出现人机对话时输入“Y”回车: C:〉ECHO Y|CHKDSK/F C:〉ECHO Y|DEL A :*.*
7. 建立新文件或增加文件内容 格式:ECHO 文件内容>文件名 ECHO 文件内容>>文件名 例如:C:〉ECHO @ECHO OFF〉AUTOEXEC.BAT建立自动批处理文件 C:〉ECHO C:/CPAV/BOOTSAFE〉〉AUTOEXEC.BAT向自动批处理文件中追加内容 C:TYPE AUTOEXEC.BAT显示该自动批处理文件 @ECHO OFF C:/CPAV/BOOTSAFE
8. 向打印机输出打印内容或打印控制码 格式:ECHO 打印机控制码>PRN ECHO 打印内容>PRN 下面的例子是向M-1724打印机输入打印控制码。<Alt>156是按住Alt键在小键盘键入156,类似情况依此类推: C:〉ECHO 〈Alt〉+156〈Alt〉+42〈Alt〉+116〉PRN(输入下划线命令FS*t) C:〉ECHO 〈Alt〉+155@〉PRN(输入初始化命令ESC@) C:〉ECHO.〉PRN(换行)
9. 使喇叭鸣响 C:〉ECHO ^G “^G”是用Ctrl+G或Alt+007输入,输入多个^G可以产生多声鸣响。使用方法是直接将其加入批处理文件中或做成批处理文件调用。
10.执行ESC控制序列修改屏幕和键盘设置我们知道DOS的设备驱动程序ANSI.SYS提供了一套用来修改屏幕和键盘设置的ESC控制序列。如执行下述内容的批处理程序可以把功能键F12定义为DOS命令“DIR/W”,并把屏幕颜色修改为白色字符蓝色背景。 @ECHO”←[0;134;”DIR/W”;13p @ECHO”←[1;37;44m (注:批处理文件中“←”字符的输入方法是在编辑状态下按Alt中小键盘上的27)
第2个回答  2019-10-20
-fls
/path/to/somefile
:查找到的所有文件的长格式信息保存到指定文件中。
第3个回答  推荐于2017-09-10
sed -n '1,10p' file1 >> file2

将file1的1-10行追加到 file2本回答被提问者和网友采纳
第4个回答  2012-10-14
perl -ne 'print if 1..10' file >result.txt

在linux命令行下如何将指定的几行内容写入到一个文件中?
Linux下可以用sed命令向文件中追加内容。案例:把\/etc\/test1文件中1-10行内容写入到test2中 sed -n '1,10'p \/etc\/test1 >>test2#将file1的1-10行追加到file2sed命令行格式为:sed [-nefri] ‘command’ 输入文本 常用选项:-n∶使用安静(silent)模式;-e∶直接在指令列模式上进行 sed 的动...

在linux命令行下如何将指定的几行内容写入到一个文件中?
读取\/etc\/passwd 第2行到第五行内容输出到passwd

linux下如何将一个新增文件加入到一个压缩文件中
1、连接上相应的linux主机,进入到等待输入shell指令的linux命令行状态下。2、在linux命令行下输入shell指令:tar -uf test.tar 1.txt -u。3、键盘按“回车键”运行shell指令,此时会看到1.txt被追加到了test.tag中。

linux下如何将当前目录的文件名存到一个文本文件里
1、首先连接上linux主机,进入到需要处理的目录,例如“\/”目录。2、输入:ls -1 > 1.txt,按回车。3、此时通过ls命令发现“1.txt”文件被生成的。4、用vi命令打开“1.txt”文件,发现刚才目录中的文件名已经都被存在到这个文本文件中了。

Linux下文件追加内容的简单方法linux文件追加内容
首先,使用cat命令来追加内容。使用cat命令可以追加任何数量的内容到文件中,使用者只需要在命令行中输入cat命令,然后紧跟着要添加的内容,最后把它重定向到文件中即可。例如:cat > test This is the content I want to append to the file Ctrl + D 其次,使用echo命令来追加内容。使用echo命令也...

linux中怎样把对个文件放到一个文件夹中?
linux中将一个文件放到一个文件夹中可以使用mv命令或者cp命令:\\x0d\\x0a\\x0d\\x0a1,mv命令是移动或更名现有的文件或目录;\\x0d\\x0a用法为mv文件名或者文件夹名需要移动到的路径\\x0d\\x0a例如:mvtest.txt\/usr\\x0d\\x0amv的常用参数:\\x0d\\x0a-b或--backup若需覆盖文件,则覆盖前先行...

linux中怎样把对个文件放到一个文件夹中
linux中将一个文件放到一个文件夹中可以使用mv命令或者cp命令:1,mv命令是移动或更名现有的文件或目录;用法为 mv 文件名或者文件夹名 需要移动到的路径 例如: mv test.txt \/usr mv 的常用参数:-b或--backup  若需覆盖文件,则覆盖前先行备份。-f或--force  若目标文件或目录与现有的文件...

linux系统下怎么用命令行在txt文档中写入内容?
1. 如果打开编辑器,进行文本编辑,可以使用vi命令或者vim,打开vim编辑器进行文本编辑。具体命令:vim file.txt当然其他编辑器也可以,比如nano。2. 如果你不想用编辑器交互的写入内容,只是使用命令行,最简单的就是用echo命令:echo "This is Baidu!" >> file.txt使用">>"表明在目标文档后追加...

linux命令模式下怎么把一个文本中的一行复制到另一个文本中?
就把这一行添加到了文本B的最后 然后操作文本b即可更常用的 直接在vi里面进行操作 首先打开文本A 选中要复制的行 再命令模式下按yy 复制该行 然后按冒号输入命令 e B 进入文本B的编辑 此时移动到想要插入的行 按p就复制成功 本回答由电脑网络分类达人 郭强推荐 举报| 答案纠错 | 评论 4 0 stablish 采纳...

Linux将命令行输出保存至文件linux命令输出到文件
将命令行输出保存为文件的方法有以下几种:一是使用输出重定向操作符(’>’),该操作符会将指定的命令输入和输出写入文件,其用法为:命令 > 文件名 这种方法会将指定命令的全部输出保存到文件中,如将一个ls命令的输出保存到文件“a.txt”中,可以使用如下命令:ls > a.txt 另一种...

相似回答