- 博客(9)
- 资源 (2)
- 收藏
- 关注
转载 linux高级原4
4、根据扩展名切分文件名有一些脚本是依据文件名进行各种处理的。我们可能会需要在保留扩展名的同时修改文件名、转换文件格式(保留文件名的同时修改扩展名)或提取部分文件名。shell所具有的一些内建功能可以依据不同的情况来切分文件名。借助%操作符可以轻松将名称部分从“名称.扩展名”这种格式中提取出来。你可以按照下面的方法从sample.jpg中提取名称。file_jpg="s
2016-05-31 16:29:08 214
转载 linux高级原3
1. sort依据键或列进行排序我们可以按列将下面的文本排序:$ cat data.txt1 mac 20002 winxp 40003 bsd 10004 linux 1000有很多方法可以对这段文本排序。目前它是按照序号(第一列)来排序的。我们也可以依据第二列和第三列来排序。-k指定了排序应该按照哪一个键(key)来进行。键指的是列号,而列号就是执行排序时的
2016-05-31 15:44:11 191
转载 linux 高级原2
我们可以用管道将一个命令的stdout(标准输出)重定向到另一个命令的stdin(标准输入)。例如:cat foo.txt | grep "test"但是,有些命令只能以命令行参数的形式接受数据,而无法通过stdin接受数据流。在这种情况下,我们没法用管道来提供那些只有通过命令行参数才能提供的数据。xargs擅长将标准输入数据转换成命令行参数。xargs能够处理stdi
2016-05-31 15:21:07 242
转载 linux 高级原1
cat的用法多种多样。让我们来看看其中的一些。cat命令不仅可以读取文件、拼接数据,还能够从标准输入中进行读取。从标准输入中读取需要使用管道操作符:OUTPUT_FROM_SOME COMMANDS | cat类似地,我们可以用cat将来自输入文件的内容与标准输入拼接在一起,将stdin和另一个文件中的数据结合起来。方法如下:$ echo 'Text through std
2016-05-31 00:32:06 247
转载 linux 操作
比较与测试程序中的流程控制是由比较语句和测试语句处理的。Bash同样具备多种与Unix系统级特性相兼容的执行测试的方法。我们可以用if、if else以及逻辑运算符进行测试,用比较运算符来比较数据项。除此之外,还有一个test命令也可以用于测试。这if和else语句可以进行嵌套。if的条件判断部分可能会变得很长,但可以用逻辑运算符将它变得简洁一些: [ con
2016-05-30 15:16:00 167
转载 linux 普通 原
1、echo是用于终端打印的基本命令。在默认情况下,echo在每次调用后会添加一个换行符。每种方法的副作用如下所述。 使用不带引号的echo时,没法在所要显示的文本中使用分号(;),因为分号在Bash shell中被用作命令定界符。 以echo hello;hello为例,echo hello被视为一个命令,第二个hello则被视为另一个命令。 变
2016-05-30 14:17:15 327
转载 字段分隔符IFS
IFS的默认值为空白字符(换行符、制表符或者空格)。当IFS被设置为逗号时,shell将逗号视为一个定界符,因此变量$item在每次迭代中读取由逗号分隔的子串作为变量值。如果没有把IFS设置成逗号,那么上面的脚本会将全部数据作为单个字符串打印出来。data="name,sex,rollno,location"我们可以使用IFS读取变量中的每一个条目。ol
2016-05-30 00:04:56 436
转载 运行命令直到命令执行成功
在大多数现代系统中,true是作为/bin中的一个二进制文件来实现的。这就意味着每执行一次while循环,shell就不得不生成一个进程。如果不想这样,可以使用shell内建的“:”命令,它总是会返回为0的退出码:repeat() { while :; do $@ && return; done }
2016-05-29 23:36:21 1226
转载 shell变量和环境变量
变量可以通过以下方式进行赋值:var=valuevar是变量名,value是赋给变量的值。如果value不包含任何空白字符(例如空格),那么它就不需要使用引号进行引用,否则必须使用单引号或双引号。注意,var = value不同于var=value。把var=value写成var = value是一个常见的错误,但前者是赋值操作,后者则是相等操作。
2016-05-28 22:40:39 313
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人