用sed命令在行首或行尾添加字符的命令有以下几种:
假设处理的文本为test.file


在每行的头添加字符,比如"HEAD",命令如下:

sed "s/^/HEAD&/g" test.file

在每行的行尾添加字符,比如“TAIL”,命令如下:

sed "s/$/&TAIL/g" test.file

运行结果如下图:


几点说明:
1."^"代表行首,"$"代表行尾
2.'s/$/&TAIL/g'中的字符g代表每行出现的字符全部替换,如果想在特定字符处添加,g就有用了,否则只会替换每行第一个,而不继续往后找了
例:


3.如果想导出文件,在命令末尾加"> outfile_name";如果想在原文件上更改,添加选项"-i",如(这里的-i,可以理解为其他命令执行后的结果重定向到原文件,所以-n p等参数会影响-i的效果)


4.也可以把两条命令和在一起,在test.file的每一行的行头和行尾分别添加字符"HEAD"、“TAIL”,命令:

sed "/./{s/^/HEAD&/;s/$/&TAIL/}" test.file
用sed命令在行首或行尾添加字符的命令有以下几种:假设处理的文本为test.file在每行的头添加字符,比如"HEAD",命令如下:sed 's/^/HEAD&/g' test.file在每行的行尾添加字符,比如“TAIL”,命令如下:sed 's/$/&TAIL/g' test.file运行结果如下图:几点说明:1."^"代表行首,"$"代表行尾2.'... //创建/打开文件 CFile file; file.Open(_T("test.txt"),CFile::modeCreate|CFile::modeNoTruncate|CFile::modeReadWrite); 文件打开模式可组合使用,用“|”隔开,常用的有以下几种: CFile::modeCreate:以新建方式打开,如果文件不存在,新建;如果文件已存在,把该文件长度置零,即清除文件原有内容。 CFile::modeNoTruncate:以追 方式打开,如果文件存在,打开并且不将文件长度置零,如果文件不存在,会抛出异常。一般与CFile::modeCreate一起使用,则文件不存在时,新建一个文件;存在就进行追 操作。 CFile::modeReadWrite:以读写方式打开文件。 CFile::modeRead:只读。 CFile::modeWrite:只写。 //写入数据 CString strValue = "Hello World!"; file.Write(strValue,strValue.GetLength()); //追 数据 file.SeekToEnd(); //将指针移至文件末尾进行追 file.Write(strValue,strValue.GetLength()); //关闭文件 file.Close(); CStdioFile CStdioFile是CFile的派生类,对文件进行流式操作,对于 文本 文件的读写很有用处,可按行读取写入。 //写入数据 CString strValue = "Hello World!"; file.WriteString(strValue); //读取数据 CString strRead; file.ReadString(strRead); 当文件存在多行数据需要逐行读取时,可用函数BOOL CStdioFile::ReadString(CString& rString),当遇到"\n "时读取截断,如果文件未读完,返回true,否则返回false。 //逐行读取文件内容,存入strRead while(file.ReadString(strRead)) 各种关于文件的操作在程序设计中是十分常见,如果能对其各种操作都了如指掌,就可以根据实际情况找到最佳的解决方案,从而在较短的时间内编写出高效的代码,因而熟练的掌握文件操作是十分重要的。本文将对Visual C++中有关文件操作进行全面的介绍,并对在文件操作中经常遇到的一些疑难问题进行详细的分析。   1.文件的查找   当对一个文件操作时,如果不知道该文件是否存在,就要首先进行查找。MFC中有一个专门用来进行文件查找的类CFileFind,使用它可以方便快捷地进行文件的查找。下面这段代码演示了这个类的最基本使用方法。   CString strFileTitle;   CFileFind finder;   BOOL bWorking = finder.FindFile("C:\\windows\\sysbkup\\*.cab");   while(bWorking)   bWorking=finder.FindNextFile();   strFileTitle=finder.GetFileTitle();   2.文件的打开/保存对话框   让用户选择文件进行打开和存储操作时,就要用到文件打开/保存对话框。MFC的类CFileDialog用于实现这种功能。使用CFileDialog声明一个对象时,第一个BOOL型参数用于指定文件的打开或保存,当为TRUE时将构造一个文件打开对话框,为FALSE时构造一个文件保存对话框。   在构造CFileDialog对象时,如果在参数中指定了OFN_ALLOWMULTISELECT风格,则在此对话框中可以进行多选操作。此时要重点注意为此CFileDialog对象的m_ofn.lpstrFile分配一块内存,用于存储多选操作所返回的所有文件路径名,如果不进行分配或分配的内存过小就会导致操作失败。下面这段程序演示了文件打开对话框的使用方法。   CFileDialog mFileDlg(TRUE,NULL,NULL,   OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT|OFN_ALLOWMULTISELECT,   "All Files (*.*)|*.*||",AfxGetMainWnd());   CString str(" ",10000);   mFileDlg.m_ofn.lpstrFile=str.GetBuffer(10000);
文件如下: [root@node1 ~]# cat iptables22.txt # Generated by iptables-save v1.4.21 on Thu Dec 9 08:43:47 2021 -A INPUT -p tcp -m tcp --dport 22 -j ACCEPT -A INPUT -p tcp -m tcp --dport 80 -j DROP -A INPUT -p tcp -m tcp --dport 443 -j DROP 一、如何在文件的匹配行 前面 上注释:
1. sed 命令 ;主要作用是查找;新增 删除 和修改替换。user.txt daokr#cat user.txt ID Name Sex Age zhang M 19 wang G 20 cheng M 10 huahua M 100查找 命令 :-n 和 p(print)在user.txt文件中;匹配带h的行 并...
1. Linux 与Windows FTP服务器的配置及其文件的上传与下载。要求所有操作必须描述过程和拷贝计算机屏幕。 2. 在 Linux 添加 两个用户dog和cat,用户dog给用户cat发一个邮件,内容不少于1000 字符 ,并附一个2020年日历文件的附件。在cat中查看收到的邮件和附件。每一步骤都必须拷贝计算机屏幕。 按空格往下翻。 3. 使用vi编辑器编辑下列文章。 (1) 输入第一篇外语文章2000 字符 ,第二篇文章1000 字符 ,第三篇文章1000 字符 。用 Linux 命令 分别显示三篇文章的内容。(拷贝计算机屏幕) (2) 将第二篇文章的内容复制到第一篇文章的开始处。将第三篇文章复制到第一篇文章的结尾处。(拷贝计算机屏幕) (3) 三篇文章中的每一行必须要显示行号。(拷贝计算机屏幕) (4) 搜索功能实现第一篇文章中的某个单词多次搜索。(拷贝计算机屏幕) (5) 替换功能实现第一篇文章中的某个单词多次替换。(拷贝计算机屏幕) 4. 上完这门课程后,有什么感想,有什么意见和建议? 5. 提交纸质版(A4纸打印)+电子稿(word文件,命名格式:学号_姓名.docx)。 6. 排版要美观,字体选小四宋体。不能复印。封面订两个针。
在整理词库的过程中遇到 一个问题,有些其实是同一个关键词之关有空格的话,无法正常被去重,那么有没有办法能快快速去除这些 字符 中间的空格呢?经过百度一番,找到一个解决办法,记录一下。 效果如下图所示,图上半部分是示例 文本 ,下半部分就是用 shell 去掉空格后的效果。其中用到就是下面第3个方法。 在UNIX上使用 sed 命令 进行 字符 串处理中常常遇到的问题就是 行首 行尾 的空格怎么删除。 下面介绍 sed 是怎样实现的,当然awk同样可以。 1、删除 行首 空格 代码如下: sed ‘s/^[ \t]*//g’ 第一个/的左边是s表示替换,即将空格替换为空。 第一个/的右边是表示后面的以xx开头。
本书共分五部分,详细介绍了 shell 编程技巧,各种UNIX 命令 及语法,还涉及了UNIX下的文字处理以及少量的系统管理问题。本书内容全面、文字简洁流畅,适合 Shell 编程人员学习、参考。 目 录 第一部分 shell 第1章 文件安全与权限 1 1.1 文件 1 1.2 文件类型 2 1.3 权限 2 1.4 改变权限位 4 1.4.1 符号模式 4 1.4.2 chmod 命令 举例 5 1.4.3 绝对模式 5 1.4.4 chmod 命令 的其他例子 6 1.4.5 可以选择使用符号模式或绝对模式 7 1.5 目录 7 1.6 suid/guid 7 1.6.1 为什么要使用suid/guid 8 1.6.2 设置suid/guid的例子 8 1.7 chown和chgrp 9 1.7.1 chown举例 9 1.7.2 chgrp举例 9 1.7.3 找出你所属于的用户组 9 1.7.4 找出其他用户所属于的组 10 1.8 umask 10 1.8.1 如何计算umask值 10 1.8.2 常用的umask值 11 1.9 符号链接 12 1.9.1 使用软链接来保存文件的多个映像 12 1.9.2 符号链接举例 12 1.10 小结 13 第2章 使用find和xargs 14 2.1 find 命令 选项 14 2.1.1 使用name选项 15 2.1.2 使用perm选项 16 2.1.3 忽略某个目录 16 2.1.4 使用user和nouser选项 16 2.1.5 使用group和nogroup选项 16 2.1.6 按照更改时间查找文件 17 2.1.7 查找比某个文件新或旧的文件 17 2.1.8 使用type选项 17 2.1.9 使用size选项 18 2.1.10 使用depth选项 18 2.1.11 使用mount选项 18 2.1.12 使用cpio选项 18 2.1.13 使用exec或ok来执行 shell 命令 19 2.1.14 find 命令 的例子 20 2.2 xargs 20 2.3 小结 21 第3章 后台执行 命令 22 3.1 cron和crontab 22 3.1.1 crontab的域 22 3.1.2 crontab条目举例 23 3.1.3 crontab 命令 选项 23 3.1.4 创建一个新的crontab文件 24 3.1.5 列出crontab文件 24 3.1.6 编辑crontab文件 24 3.1.7 删除crontab文件 25 3.1.8 恢复丢失的crontab文件 25 3.2 at 命令 25 3.2.1 使用at 命令 提交 命令 或脚本 26 3.2.2 列出所提交的作业 27 3.2.3 清除一个作业 27 3.3 & 命令 27 3.3.1 向后台提交 命令 28 3.3.2 用ps 命令 查看进程 28 3.3.3 杀死后台进程 28 3.4 nohup 命令 29 3.4.1 使用nohup 命令 提交作业 29 3.4.2 一次提交几个作业 29 3.5 小结 30 第4章 文件名置换 31 4.1 使用* 31 4.2 使用? 32 4.3 使用[...]和[!...] 32 4.4 小结 33 第5章 shell 输入与输出 34 5.1 echo 34 5.2 read 35 5.3 cat 37 5.4 管道 38 5.5 tee 39 5.6 标准输入、输出和错误 40 5.6.1 标准输入 40 5.6.2 标准输出 40 5.6.3 标准错误 40 5.7 文件重定向 40 5.7.1 重定向标准输出 41 5.7.2 重定向标准输入 42 5.7.3 重定向标准错误 42 5.8 结合使用标准输出和标准错误 43 5.9 合并标准输出和标准错误 43 5.10 exec 44 5.11 使用文件描述符 44 5.12 小结 45 第6章 命令 执行顺序 46 6.1 使用&& 46 6.2 使用|| 46 6.3 用()和{ }将 命令 结合在一起 47 6.4 小结 48 第二部分 文本 过滤 第7章 正则表达式介绍 49 7.1 使用句点匹配单 字符 50 7.2 在 行首 以^匹配 字符 串或 字符 序列 50 7.3 在 行尾 以$匹配 字符 串或 字符 5
经常遇到用工具导出一个文件后,需要在文件 行首 添加 一些内容的需求。最近又遇到了,因此查了资料后自己在实验通过之后,决定把这个脚本记录下来。基本思路是文件内容copy,如下所示:echo #include "stdafx.h" > $ for /f "delims=" %%i in ('dir/b CChatSvrConfDesc.cpp')do ( copy /b $+"%%i" $1
执行后,在a.txt文件的第一行插入"一串文字"=================>补充: mac电脑这么搞: //或brew install gnu- sed 下载GNU的 sed ,终端中默认的是BSD的 sed 。 然后用g sed 代替 sed 命令 就行了,如果还是想用 sed 命令 ,可以设置别名: alias sed =g sed ` sed -i “niecho ‘test’” a.txt执行后,在a.txt文件的第n行插入"test"echo “123” >> a.txt
Linux 系统中, sed 是一个非常强大的 文本 处理工具。它可以用来替换、删除或 添加 文本 ,以满足不同的需求。如果你想使用 sed 命令 添加 指定 字符 ,那么你需要掌握一些基本的使用方法。 首先,你需要知道如何使用 sed 命令 sed 命令 的基本语法如下: $ sed [选项] ‘ 命令 ’ 文件名 其中,选项可以是-i,表示在原文件中进行修改;也可以是-e,表示多次执行 命令 ;另外还有-n等选项。 命令 则是要执行的操作,可以是替换、删除或 添加 等。例如,要替换 文本 中的某个 字符 串,可以使用下面的 命令 : $ sed 's/源 字符 串/目标 字符 串/g' 文件名 这个 命令 会把文件中所有的源 字符 串替换为目标 字符 串。其中,g表示全局替换。 如果你想使用 sed 命令 添加 指定 字符 ,那么可以使用下面的 命令 : $ sed 's/$/要 添加 字符 /g' 文件名 这个 命令 会在每一行的末尾 添加 指定 字符 。其中,$表示行末,要 添加 字符 可以是任何 字符 ,例如,要在每一行末尾 添加 一个空格,可以使用下面的 命令 : $ sed 's/$/ /g' 文件名 如果你想 添加 指定 字符 文本 的某个位置,可以使用下面的 命令 : $ sed 's/要 添加 字符 /要 添加 字符 &/g' 文件名 其中,&表示匹配到的 字符 串。例如,要在每个逗号 前面 添加 一个空格,可以使用下面的 命令 : $ sed 's/,/ &/g' 文件名 总之,使用 sed 命令 添加 指定 字符 需要根据具体的场景来确定操作方法。如果你想进一步掌握 sed 命令 的使用方法,可以参考相关的文档或教程。