shell文件处理笔记之插入文本到文件的方法

前言

众所周知,如果在大多数服务器上,不会预先装上 ruby 或者 python 这些语言。这时,你要想操作一些文件,一个合理的选择就是使用 shell。也就是你在 terminal中输入的那些指令。本文给大家想写介绍了关于插入文本到文件的相关内容,下面话不多说了,来一起看看详细的介绍:

首先,打开你的 Terminal。

改写文件

如果你刚刚创建了一个文件,比如touch a.txt,a 里面现在是空的。你想要往里面加上一句话,怎么操作。你可以打开文件,用 vim,用 atom 都可以。但你要可以用 shell 命令直接插入一句话。

echo 'I want to instert a sentence' > a.txt

这里面的意思是,把 echo 的返回值写入 a.txt。而 echo 命令的返回值就是你在后面写的那个字符串。

为什么要用这样的方法来插入文本呢?出了上述说到的编程环境的限制外,还有一个限制是,有些情况下,你需要机器自动插入一些文本到文件,不能依靠跟人的交互来写入文本。比如说,你丢给服务器一个 nginx 的安装脚本,告诉服务器去安装 nginx。但是,在安装过程中, 你需要更改一些 nginx 的参数,但你有不想在那里看着服务器。所以,你需要把参数事先写好,等到一定时机是自动插入到一些文件中。而不用你在旁边等着。

插入到末尾

刚才的命令有一个问题,就是不论 a.txt 中有没内容,>这个命令会吧 a 中原有的内容都覆盖。这可能不是你期望的。

如果你用echo 'I want to append a sentence' >> a.txt。这样新插入的这句话就在 a.txt 的最后一段。

读取一个文件并插入到另外一个文件

有时候,我们想在一个文件中插入的内容,已经在另外一个文件中事先写好了。这个时候,可以先读取事先写好的文明。

cat a.txt > b.txt

这个命令就是在读取a,然后把 b 改写成刚刚读取到的内容。

你可能会觉得,这不就是复制么,为什么要用>呢。是的,这可以用cp代替。但是下面这个命令就不能用 cp 代替了。

cat a.txt >> b.txt

Recall

>帮你把某个命令的返回值写入一个文件

>>帮你把某个命令的返回值插入到某个文件的末尾

我们可以先读取一个文件,然后用>或者>>,把内容插入到另外一个文件。

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对我们的支持。

(0)

相关推荐

  • PowerShell比较文本文件的两个方法

    需求:比较两个文本文件,不相等时输出行号和列号,和开始不相等的字符. 方法一:Compare-Object 利用PowerShell命令Compare-Object,非常值得学习. 复制代码 代码如下: function Compare-Files{ param( $file1, $file2, [switch]$IncludeEqual ) $content1 = Get-Content $file1 $content2 = Get-Content $file2 $comparedLines

  • Shell脚本逐行读取文本文件(不改变文本格式)

    网上有很多 shell script 读文本文件的例子,但是都没有讲出故事的全部,只说了一半.举个例子,比如从一个 testfile 文件中读取如下格式的文本行: 复制代码 代码如下: $ vi testfile ls      -a -l /bin |  sort ls      -a -l /bin |  sort | wc ls      -a -l |  grep sh | wc ls      -a -l ls      -a -l |       sort      |    wc

  • Shell脚本对比两个文本文件找出不同行的2个方法分享

    亲自实验过的方法如下: 第一种:comm命令法 命令如下:comm -3 file1 file2 有一个问题就是,如果两个文件排序不一样的话,会出问题 第二种:grep命令法 命令如下:grep -vwf file1 file2 统计file1中没有,file2中有的行 具体使用环境以后再补充,今天先记录到这里.

  • PowerShell读取文本文件指定行内容的方法

    本文介绍一个PowerShell中如何一步到位的获取到一个文本文件的第N行.比如一个文本文件,它有1000行,我想把第500行的内容直接取出来的,最简单的方法是通过PowerShell来实现. 在PowerShell中,可以通过Get-Content这个cmdlet来获取文本文件的内容.Get-Content将一个文本文件读取到一个数组中,每一个数组元素就是文件的一行内容.比如一个文本文件内容如下: 复制代码 代码如下: 111 222 333 那么,使用Get-Content获取到一个数组,数

  • Powershell实现加密解密文本文件方法实例

    适用于Powershell3.0及以后版本. 假设你需要给文件加密,下面教你如何给自己的文件加密: $Path = "$env:temp\secret.txt" $Secret = 'Hello World!' $Passphrase = 'Some secret key' $key = [Byte[]]($Passphrase.PadRight(24).Substring(0,24).ToCharArray()) $Secret | ConvertTo-SecureString -A

  • shell文件处理笔记之插入文本到文件的方法

    前言 众所周知,如果在大多数服务器上,不会预先装上 ruby 或者 python 这些语言.这时,你要想操作一些文件,一个合理的选择就是使用 shell.也就是你在 terminal中输入的那些指令.本文给大家想写介绍了关于插入文本到文件的相关内容,下面话不多说了,来一起看看详细的介绍: 首先,打开你的 Terminal. 改写文件 如果你刚刚创建了一个文件,比如touch a.txt,a 里面现在是空的.你想要往里面加上一句话,怎么操作.你可以打开文件,用 vim,用 atom 都可以.但你要

  • PHP执行shell脚本运行程序不产生core文件的方法

    发现一直不产生core文件,但是手动运行脚本的时候就会产生core文件. 经过朋友指导,原来是脚本执行环境导致的问题: 脚本中加入ulimit -a >> 1.log 打印如下: core file size (blocks, -c) 0 data seg size (kbytes, -d) unlimited scheduling priority (-e) 0 file size (blocks, -f) unlimited pending signals (-i) 127364 max

  • shell命令行,一键创建 python 模板文件脚本方法

    写 python 文件时,每个文件开头都必须注明版本和编码.每次我 touch 文件之后粘贴这两句话让我不胜其烦. 由于我没有安装 python 的 IDE 工具,也没有为 vim 安装相应的插件.主要是为了练习自己的编码能力,而不希望过于依赖工具,所以为了解决这个问题,我写了这个脚本. #!/bin/bash if [ -n "$1" ]; then if [ -f "$1" ]; then echo $1 '文件已经存在,不能重复创建' else echo '#

  • shell脚本实现ftp上传下载文件功能

    前段时间工作中需要将经过我司平台某些信息核验数据提取后上传到客户的FTP服务器上,以便于他们进行相关的信息比对核验.由于包含这些信息的主机只有4台,采取的策略是将生成的4个文件汇集到一个主机上,然后在这台主机上将文件上传的目标ftp服务器. 1,建立主机A到其他三台主机之间的信任关系,以便于远程拷贝文件 #生成主机A的本地认证秘钥,可以选择生成rsa或者dsa类型的秘钥,这里选取rsa [root@A ~]#ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa >/d

  • shell 递归遍历目录下的所有文件并统一改名的方法

    遇到一道题目,如何把某个目录下的每个文件统一在名字前加上"abc",用shell实现 首先分析,一个目录下除了文件,还可能存在目录,这里可以看出需要有递归操作,如果是文件直接改名,目录则进入然后进行遍历 如何实现遍历?我们写一个函数: function travFolder(){ #echo "travFolder" flist=`ls $1` cd $1 #echo $flist for f in $flist do if test -d $f then #ech

  • python文件处理笔记之文本文件

    目录 1. 建立文件 1.1 文本文件代码实现 1.2 代码编写分析 2. 基本的读写文件 2.1 用文件对象write(s)方法写内容 2.2 用文件对象read()方法读取内容 2.3 连续用read()方法.write()方法操作文件 3. 复杂的读写文件 1.一次写入多行 2.一次读一行 3.以列表格式读取多行 4.连续读特定字节数量的内容 5.在指定位置读内容 4. 文件异常处理 5. 文件与路径 5.1 与路径相关的操作 获取程序运行的当前路径 5.2 动态指定路径下建立新文件 总结

  • 详解iOS学习笔记(十七)——文件操作(NSFileManager)

    iOS的沙盒机制,应用只能访问自己应用目录下的文件.iOS不像Android,没有SD卡概念,不能直接访问图像.视频等内容.iOS应用产生的内容,如图像.文件.缓存内容等都必须存储在自己的沙盒内.默认情况下,每个沙盒含有3个文件夹:Documents, Library 和 tmp.Library包含Caches.Preferences目录. 上面的完整路径为:用户->资源库->Application Support->iPhone Simulator->6.1->Aplica

  • shell命令实现当前目录下多个文件合并为一个文件的方法

    当前目录下多个文件合并为一个文件 1.将多个文件合并为一个文件没有添加换行符 find ./ -name "iptv_authenticate_201801*" | xargs cat > iptv_authenticate.txt 2.设置换行符^J find ./ -name "iptv_authenticate_201801*" | xargs sed 'a\^J' > iptv_authenticate.txt 3.默认换行符 find ./ -

  • python之文件的读写和文件目录以及文件夹的操作实现代码

    为了安全起见,最好还是给打开的文件对象指定一个名字,这样在完成操作之后可以迅速关闭文件,防止一些无用的文件对象占用内存.举个例子,对文本文件读取: file_object = open('thefile.txt') try: all_the_text = file_object.read( ) finally: file_object.close( ) Python读写文件实际操作的五大步骤 一.打开文件 Python读写文件在计算机语言中被广泛的应用,如果你想了解其应用的程序,以下的文章会给你

  • mysql 从 frm 文件恢复 table 表结构的3种方法【推荐】

    mysql 正常运行的时候,查看 table 的结构并不是困难的事. 但是有时 mysql 发生故障,这种方法便不再可行. 当遇到故障,通常使用新的 mysql 实例来恢复当前的数据. 建表是非常重要的步骤,我们必须有其它的方法来寻找 table 的结构. table 结构定义在哪里 通常关注的用户数据,底层都实际存储在 mysql 数据目录.  其它的元数据也不例外,比如 table 表结构的定义. mysql 数据目录文件结构是非常清晰的, •目录对应数据库 •frm 文件存储了 table

随机推荐