今天遇到一個(gè)問(wèn)題,在linux操作系統(tǒng)里面需要取一串?dāng)?shù)字,但是這串?dāng)?shù)字在一個(gè)雙引號(hào)引起來(lái)的,并且有特殊符號(hào)和漢字的字符串里面。
我開(kāi)始想到的是使用awk去截取字段的方法,可是截取的時(shí)候,雙引號(hào)里面的內(nèi)容截取不到。
后來(lái)想了一個(gè)辦法,就是用sed -n去截取內(nèi)容。本來(lái)文件名是我在/tmp目錄下生成的日期.txt的文件。
下面記錄一下截取內(nèi)容的方法:
cat /tmp/`date +%F`.txt | grep `date +%F` | awk -F ':' '{ print $7}' |awk -F ',' '{print $1}' | egrep -Eo '[0-9]+' | sed -n '3~4p'
這里使用egrep 去獲取到了數(shù)字,接著取出文件中的第3、7、11行。前面3代表起始行,后面4代表遞增值。因?yàn)樾枰@取的數(shù)字是4行分成一組,我需要取出每組數(shù)字的第3行。所以用sed -n '3~4p',這里是波折號(hào),而不是短橫線。
這樣,我就可以取出來(lái)每一行數(shù)字了。
Linux system






