linux下,删除指定字符间的内容

linux下,删除指定字符间的内容,第1张

#include <stdio.h>

int main(void)

{

printf("abcde")

printf("\b\b \b\b")/*让光标左移两位(删除两个字符),注意中间有两个空格*/

return 0

}

******************************************************

如果有大量的对基于字符界面的GUI *** 作,建议使用cruses库进行编程,里面提供了丰富的基于文本的屏幕管理函数。

例如:

#include <stdio.h>

#include <curses.h>

int main(void)

{

initscr()/*初始化curses*/

printw("abcde")/*输出*/

refresh()

move(0,2)/*移动光标位置*/

insch('C')/*在光标当前位置插入字符*/

refresh()

endwin()/*结束curses编程*/

return 0

}

( gcc a.c -lcurses )

请参考

这个不难。

在这里要使用转义符号

\

\

后面紧接着的字符会被认为是纯字符,而忽略它的特殊意义。

\+空格就表示一个空格。

假设当前shell是bash

touch

\空格\空格\空格

回车

这句就创建了一个文件名为3个空格的文件。

要删除的时候可以直接输入rm

\空格\空格\空格或者利用命令补齐功能,在输入

rm

\空格

后,按tab键系统会自动按文件名匹配度来补全命令内容。在上面说的这种情况按下tab后,命令行会变成

rm

\空格\空格\空格,你直接回车就可以删除那个文件了。你还可以配合通配符*或者?一起使用。

附带说一下,最好不要用特殊的字符做文件夹或者文件的名字,只是增加访问这些文件夹或者文件的难度,没其它作用。

sed命令行格式:sed [options] 'command' file(s)

options常用选项:

-n或--quiet或——silent:仅显示script处理后的结果

-e:以选项中的指定的script来处理输入的文本文件

-f:以选项中指定的script文件来处理输入的文本文件

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

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

-h或--help:显示帮助

-V或--version:显示版本信息。

Command常用命令:

a:新增,a 的后面可以接字符串,而这些字符串会在新的一行出现(目前的下一行)

c:取代,c 的后面可以接字符串,这些字符串可以取代 n1,n2 之间的行

d:删除,d 后面通常不接任何字符串

i:插入,i 的后面可以接字符串,而这些字符串会在新的一行出现(目前的上一行)

p:列印,亦即将某个选择的资料印出。通常 p 会与参数 sed -n 一起运作

s:取代,可以直接进行取代的工作,通常与正规表达式搭配使用。

实例说明:

新增 *** 作:a命令

sed '/^bird/a\test' file将test追加到 以bird开头的行后面

删除 *** 作:d命令

sed '/^$/d' file #删除空白行

sed '2d' file #删除第二行

sed '2,$d' file #删除第2行到最后一行

sed '$d' file #删除最后一行

sed '/^bird/'d file #删除所有开头是bird的行

插入 *** 作:i命令

sed -i '3i\bird ' bird.conf #在bird.conf文件第3行之前插入bird

替换文本中的字符串:s命令

sed 's/bird/birds/' file #将文本中的bird替换成birds

sed -i 's/ bird / birds /g' file #将file文件中每一行的第一个bird替换为birds


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8957065.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-23
下一篇 2023-04-23

发表评论

登录后才能评论

评论列表(0条)

保存