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中$(( ))、$( )、``與${ }的區別

相關文章
相關標籤/搜索