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
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)