Tag Archives: Linux系统学习

sed删除空白行

sed删除空白行

sed删除空白行是通过:

sed '/^$/d'

这里用了正则表达式,^$代表空白行

d是sed的操作符删除

    1    [xxx@localhost work]$ cat test.txt | sed '/^$/d'
     2    here you got first line
     3    second line here
     4    aove space line
     5    [xxx@localhost work]$ cat test.txt
     6    here you got first line
     7    second line here
       
     8    aove space line
     9    [xxx@localhost work]$ sed '/^$/d' test.txt
    10    here you got first line
    11    second line here
    12    aove space line
    13    [xxx@localhost work]$ cat test.txt
    14    here you got first line
    15    second line here
       
    16    aove space line
    17    [xxx@localhost work]$ sed '/^$/d' -i test.txt
    18    [xxx@localhost work]$ cat test.txt
    19    here you got first line
    20    second line here
    21    aove space line
    22    [xxx@localhost work]$

继续阅读

Linux二进制文件比较

Linux二进制文件比较

 

 

二进制文件比较有2个选项:

  • cmp
  • vimdiff

相对来说,第二个比较好用,非常直观(后面会提到)

使用cmp

cmp -s file1 file2

-s代表列出所有不同

 

使用vimdiff

vimdiff file1 file2

这个方式会打开vim,并且打开比较的文件,把vim窗口垂直切分2个字窗口,显示内容。可以非常方便的查看有区别的部分。

继续阅读

linux模拟windows的kbhit

linux模拟windows的kbhit

Windows有个很不错的函数kbhit,可以检测是否有任何键按下了。例如我们可以检测键按下,来退出一个无限循环。还可以得到用户按下的这个键。

但是linux默认是没有这个函数的,我们可以使用下面自定义的函数来实现这个功能。

继续阅读

linux bash的单引号和双引号

linux bash的单引号和双引号

linux bash的单引号和双引号是很奇特的东西,

  • 有些命令单引号和双引号都可以
  • 有些只可以用单引号
  • 有些则只可以用双引号

有些命令单引号和双引号都可以

例如:echo命令

$ echo "output here"

$ echo 'output here'

$ echo output here

有些只可以用单引号

例如awk,如果用双引号,则没有任何作用,或者报错

继续阅读

linux避免进程随终端关闭而被关闭

通常我们在终端运行命令来启动进程,但是当我们退出这个时,所启动的进程会被系统强制关闭,此篇文章,讨论一下,怎么解决这个问题。

这里指的终端既可以是你启动的一个bash,或者你在另外一段启动的ssh客户端;你启动的进程是以前台方式运行还是后台方式运行(就是命令行后面加一个&),终端关闭,进程同样会被系统关闭。

继续阅读