首页 > 解决方案 > sed -n 在文件扩展名中创建一个带有“n”的新文件

问题描述

Linux:RHEL6.10圣地亚哥

当我使用sedwith -n(用于静默模式)时,它适用于原始文件,为什么它最终创建了一个对文件没有影响的新文件,并且n文件扩展名中具有相同的名称 + 后缀字符,请参阅下面 - 文件:/tmp/11.txtn.

   -n, --quiet, --silent
          suppress automatic printing of pattern space

这里

[myuser@rhel6linuxserverl15 a_folder]$ cat /tmp/11.txt 
arun nuka
arun snooka
arun chinga
arun patinga

[myuser@rhel6linuxserverl15 a_folder]$ sed -i "/arun snooka/ d" /tmp/11.txt 
[myuser@rhel6linuxserverl15 a_folder]$ cat /tmp/11.txt 
arun nuka
arun chinga
arun patinga

[myuser@rhel6linuxserverl15 a_folder]$ sed -in "/arun chinga/ d" /tmp/11.txt 
[myuser@rhel6linuxserverl15 a_folder]$ 
[myuser@rhel6linuxserverl15 a_folder]$ cat /tmp/11.txt
arun nuka
arun patinga

[myuser@rhel6linuxserverl15 a_folder]$ ls -l /tmp/11*
-rw-r--r-- 1 myuser grpup1 24 Apr 25 16:19 /tmp/11.txt
-rw-r--r-- 1 myuser grpup1 36 Apr 25 16:19 /tmp/11.txtn
[myuser@rhel6linuxserverl15 a_folder]$ cat /tmp/11.txtn 
arun nuka
arun chinga
arun patinga

[myuser@rhel6linuxserverl15 a_folder]$ 

标签: linuxbashsed

解决方案


-i接受一个可选参数,表示备份文件的扩展名。使用-n -i或指定扩展名(-n -i~很常见)。

-i[后缀], --in-place[=后缀]

就地编辑文件(如果提供了 SUFFIX,则进行备份)


推荐阅读