OpenFoam中的常见Linux命令

1.如何给Ubuntu设置超级用户(su)权限 Ubuntu刚安装后,不能在terminal中运行su命令,因为root没有默认密码,需要手动设定。以安装ubuntu时输入的用户名登陆,该用户在admin组中,有权限给root设定密码。给root用户设置密码的具体步骤:

  • 打开一个terminal,然后输入下面的命令:
    sudo passwd root
    
  • 回车后会出现让你输入原始密码,新密码和确认密码:
    [sudo] password for you: ---> 输入你的密码(你现在这个用户的密码)
    Enter new UNIX password: ---> 设置root 密码
    Retype new UNIX password: ---> 重复密码
    

    这样你的root的密码设置好了. 注:root可以省略,命令为passwd而不是password

2. 在terminal中利用su命令就可以切换到root用户了.

注:su和sudo的区别是:

  • su的密码是root的密码,而sudo的密码是用户的密码;
  • su直接将身份变成root,而sudo是以用户登录后以root的身份运行命令,不需要知道root密码. 3. sed命令 ** sed是一种非交互式的流编辑器**,可动态编辑文件。所谓非交互式是说,sed和传统的文本编辑器不同,并非和使用者直接互动,sed处理的对象是文件的数据流(称为stream/流)。sed的工作模式是,比对每一数据行,若符合样式,就执行指定的操作。 sed语法
    sed '操作命令'  操作对象 
    

    特别注意:sed并不会更改文件内容。sed的工作方式是读取文件内容,经流编辑之后,把结果显示到标准输出。因此,如果想要存储sed的处理结果,得自行运用转向输出将结果存成其他文件。 sed实例

用法1:删除某一段范围的数据行 sed ‘1,4d’ test.txt //把第1到第4行数据删除,剩下的显示出来。d是sed的删除命令

用法2:把含有”La”的数据行删除。

sed '/La/d' test.txt
// 把含有La的行删除,剩下的显示出来。其中,/ / 代表搜索之意。

用法3:使用正则匹配

sed '/[0-9]\{3\}/d'test.txt
// 把含有"3位数"的行删除,剩下的显示出来,在样式[0-9]\{3\}中,\{3\} 表//要寻找的是3个数字组成的字符串

用法4:删除空行

sed '/^$/d' test.txt
//删除dataf5的空白行。^ 表开头,$ 表尾部,这两者之间没有任何字符,代表该行是一空白行。

用法5:反向选择

sed '/La/!d' test.txt
//把不含有La的行删除,剩下的显示出来,这里的!是否定的意思,表示不符合样式者

用法6:把含有”样式”的数据行显示出来

sed '/La/p'  test.txt
//用途把含有La的行显示出来。其中,p是sed的命令,它会把目前的数据显示出来,但因为sed默认也会显示不符合的数据行,所以,应改用以下指令:
sed -n '/La/p'test.txt
 //选项-n会抑制sed显示出其他资料行的默认操作,只显示符合样式的数据行。
//查看指定行内容:sed -n Np test.txt

用法7:替换

sed -n 's/La/Oo/p' test.txt
//这里的s是取代的意思,第一对//中含括的字符串(La)是搜索的目标,第二对//含括的是置换的字符串(Oo)。它会把数据行中的字符串La换成Oo。
 //上面的这种表示替换的时候会出现重复行的问题不重复的行的命令是
sed s/La/Oo/g test.txt >> outputfile
注意:上面这个指令,只会更换第一个出现的La而已,如要全部置换,应再加上全局的命令g
sed -n 's/La/Oo/gp' test.txt

用法8:替换/删除字符

 sed -n 's/La//p'test.txt
//把每一行出现的第一个La删除(把La置换成空字符串,就是删除)

用法9:替换/通配符

sed 's/^...//' test.txt //把每一行开头的3个字符删除。
sed 's/...$//' test.txt  //把每一行末尾3个字符删除

其他用法

1.sed -n '/AAA/s/234/567/p'test.txt 
 //找到含有AAA的那一行之后,将234换成567
2.sed -n '/AAA/,/DDD/s/B/567/p'test.txt
 //将含有AAA到含有DDD的那几行,皆将其中的B换成567
3.sed -n '2,4s/B/567/p'test.txt
 //从第2行到第4行,皆将其中的B换成567
 4.sed G test.txt
 //在每一行后面增加一空行
5.sed '/^$/d;G' test.txt
 //将原来的所有空行删除并在每一行后面增加一空行,这样在输出的文本中每一行后面将有且只有一空行
6.sed 'G;G' test.txt
//在每一行后面增加两行空行
7.sed '/regex/{x;p;x;}' test.txt
//在匹配式样“regex”的行之前插入一空行
8.sed '/regex/G'
//在匹配式样“regex”的行之后插入一空行
9.sed 10q
//显示文件中的前10行
10.sed q
//显示文件中的第一行

另外,我今天见到sed -i 的用法。这里sed命令的-i选项,表示直接操作文件ab.file。这里是文本替换操作,将文件中的所有a都替换为b。 默认情况下,sed 是不会修改文件的,只会将操作结果打印到标准输出(屏幕)。 (关于sed命令复制于博文CSDN博文,版权归原作者:我是你的小草莓所有,网址为:https://blog.csdn.net/hanxingwang0806/article/details/47702867)

本文总阅读量 ⤧  Next post openfoam学习笔记-6 ⤧  Previous post openfoam学习笔记-5