2019年1月周记

日期处理

[xmtx]$ abc='2019' 
[xmtx]$ echo $abc 
2019 
[xmtx]$ echo $abc"-02-01"
 2019-02-01 
[xmtx]$ d=$abc"-02-01" 
[xmtx]$ echo $d 
2019-02-01
 [xmtx]$ date --date=$d + %Y            # + 号后面不能有空格
date: 额外的操做数 "%Y" 请尝试执行"date --help"来获取更多信息。 
[xmtx]$ date --date=$d +%Y 
2019 
[xmtx]$ date --date=$d +%Y%m 
201902 
[xmtx]$ date --date=$d +%Y-%m 
2019-02 
[xmtx]$ date --date=$d +%Y-%m-%d 
2019-02-01 
[xmtx]$ date --date=$d +%Y-%m%d 
2019-0201
 [xmtx]$ date --date=$d +%m%d 
0201 
[xmtx]$ echo $d | tr -d - 
20190201
 [xmtx]$ s=`echo $d | tr -d -`[xmtx]$ echo $s 
20190201

说说tr 的使用

一、参数 -s     html

-s: squeeze-repeats,用SET1指定的字符来替换对应的重复字符shell

能够使用这一特色,删除文件中的空白行,实质上跟上面同样,都是用SET1指定的字符来替换对应的重复字符测试

[xmtx]$ cat b.txt | tr -s ["\n"]                #去除空白行

[xmtx]$ echo "aaaab      b bs      gd      fddd" |tr -s [ ]       #空格须要 用双引号括起来
aaaab      b bs      gd      fddd
[xmtx]$ echo "aaaab      b bs      gd      fddd" |tr -s [" "]
aaaab b bs gd fddd

-d: 删除字符spa

-d:delete,删除SET1中指定的全部字符 code

[xmtx]$ echo 2019-01-02 |tr -d -                         #删除日期的杠杠
20190102
[xmtx]$ echo "a12HJ13fdaADff" | tr -d "[a-z][A-Z]"       #删除大小写字母
1213
[xmtx]$ echo "a1213fdasf" | tr -d [adfs]
1213
[xmtx]$ echo "a1213fdasf" | tr -d [adf]
1213s
[xmtx]$ echo "a1213fdasf" | tr -d [dfs]
a1213a

-t 字符替换 : set1 set2htm

-t:truncate,将SET1中字符用SET2对应位置的字符进行替换,通常缺省为-tblog

能够利用这一特色,实现大小字母的转换get

[xmtx]$ echo "Hello World I Love You" |tr -t [a-z] [A-Z]
HELLO WORLD I LOVE YOU
[xmtx]$ echo "Hello World I Love You" |tr -t [A-Z] [a-z]
hello world i love you

3.4 字符补集替换 set1 set2变量

-c:complement,用SET2替换SET1中没有包含的字符【除了set1 的字符,其余的都换成set2】date

[xmtx]$ cat a
Monday 09:00
Tuesday 09:10
Wednesday 10:11
Thursday 11:30
Friday 08:00
Saturday 07:40
Sunday 10:00

[xmtx]$ cat a | tr -c "[a-z][A-Z]" "#" | tr -s "#" | tr -t "#" "\n"
Monday
Tuesday
Wednesday
Thursday
Friday
Saturday
Sunday

[xmtx]$ cat a |tr -cs "[a-z][A-Z]" "\n"
Monday
Tuesday
Wednesday
Thursday
Friday
Saturday
Sunday

shell脚本中整型变量自增 加1的几种方法

#!/bin/sh
#本脚本测试shell脚本中整型变量自增 加1的几种方法

#定义整型变量
a=1
echo $a

#第一种整型变量自增方式
a=$(($a+1))
echo $a

#第二种整型变量自增方式
a=$[$a+1]
echo $a

#第三种整型变量自增方式
a=`expr $a + 1`
echo $a

#第四种整型变量自增方式
let a++
echo $a

#第五种整型变量自增方式
let a+=1
echo $a

#第六种整型变量自增方式
((a++))
echo $a

Linux—shell中$(( ))、$( )、``与${ }的区别

相关文章
相关标签/搜索