linux中用shell时奇怪的字符串拼接和时间计算问题
testt=$(date +%Y-%m-%d)
创新互联是专业的萨迦网站建设公司,萨迦接单;提供做网站、网站设计,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行萨迦网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!
date2="14/08/12"
test=20
testtt="${test}${date2}"
time1=$(date +%s -d "$testt" )
time2=$(date +%s -d "$testtt" )
time=$(($time1-$time2))
echo $time
改成引号,去掉括号!!
linux-字符处理
linux基础-字符处理
linux管道命令(pipe)
菜鸟教程
管道是一种通信机制,通常用于进程间的通信,它表现出来的形式将前面每一个进程的输出直接作为下一个进程的输入。
管道命令使用 | 作为界定符号。
默认情况下,sort命令以第一列进行排序
反向排序
按指定列进行排序,默认是空白符,也可以用 -t 指定分隔符
第二列排序的时候可以加 -n 进行数值排序
进行排序后,排序结果会显示在终端,但是原文件不会改变,可以用-o重定向或者另存。用 覆盖某个文件会失败,数据被清空,但是用 追加可以
为初学者提供的uniq命令教程及示例
uniq 命令用于检查及删除文本文件中重复出现的行列。uniq命令只有在相邻的情况下才会删除重复的行,因此一般与 sort 命令结合使用,此外,该命令也可以检查文本文件中重复出现的行列,默认区分大小写。
准备一个文件
准备一个文件
以分割符指定分割某些特定的列
Linux tr 命令用于转换或删除文件中的字符。
tr 指令从标准输入设备读取数据,经过字符串转译后,将结果输出到标准输出设备。
语法:tr [OPTION]…SET1[SET2]
小写转换为大写
删除字符
Linux paste 命令用于合并文件的列。
paste 指令会把每个文件以列对列的方式,一列列地加以合并。
不加参数会默认以制表符为分界列对列合并
-d可以设置以何种字符合并
使用s参数时。单个文件会将该文件的多行数据合并成一行显示,多个文件会将各个文件单独合并成一行之后再行对行合并
Linux split命令用于将一个文件分割成数个。
该指令将大文件分割成较小的文件,在默认情况下将按照每1000行切割成一个小文件。
将根目录文件信息写入文件
对上面的文件9行为一个文件进行分割
以1k字节分割文件
不加参数会同时显示行数,字数,Bytes数,加上上述参数会单独显示其中一项
Linux shell: 变量与字符串拼接出新变量到if语句
不能这样写 "${TN3RD_$(echo ${library} | tr '[a-z]' '[A-Z]')_SUPPORT}"
直接写:
if [ "$library" == "zlib" ];then
echo "${library} is included"
fi
%s\n 这句话是什么意思?'>grep \"%s\" %s | awk '{print $5}' > %s\n 这句话是什么意思?
·1、这应该是一个在宿主语言中(比如:c语言)待拼接成一个完整的linux/Unix命令串的字符串,待拼接完成后,再利用system("")调用这个命令;
以c语言为例,拼接如下:
sprintf(cmd,"grep \"%s\" %s | awk '{print $5}' %s\n",str_a,str_b,str_c);
这个命令的转换成linux直观的命令为:grep "字符串_1" 字符串_2 | awk '{print $5}' 字符串_3
其中:
"字符串_1"为grep过滤的模式;
"字符串_2"为grep筛选的对象文件名;
"字符串_3"为筛选结果输出的文件名;
即,从文件名为"字符串_2"中筛选满足条件 "字符串_1" 的行,并按照空格作为行分隔符,然后提取第5列,写入(不重复)文件名为"字符串_3"的文件中.
·2、因此,这个 grep \"%s\" %s | awk '{print $5}' %s\n 命令串片段的作用为:
从文件名为"第二个%s"的文件中,筛选满足grep条件"第1个%s"的行,并将该行中以空格分隔的第5列写入文件名为"第3个%s"的文件中. (PS:""的作用不用解释吧)
3、最后,希望下次楼主问的问题不要这么含蓄,乍一看还真不知道是啥.
网站题目:linux字符串拼接命令,shell执行命令拼接
转载源于:http://lswzjz.com/article/phchgg.html