今天遇到一個問題,在linux操作系統里面需要取一串數字,但是這串數字在一個雙引號引起來的,并且有特殊符號和漢字的字符串里面。
我開始想到的是使用awk去截取字段的方法,可是截取的時候,雙引號里面的內容截取不到。
后來想了一個辦法,就是用sed -n去截取內容。本來文件名是我在/tmp目錄下生成的日期.txt的文件。
下面記錄一下截取內容的方法:
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 去獲取到了數字,接著取出文件中的第3、7、11行。前面3代表起始行,后面4代表遞增值。因為需要獲取的數字是4行分成一組,我需要取出每組數字的第3行。所以用sed -n '3~4p',這里是波折號,而不是短橫線。
這樣,我就可以取出來每一行數字了。
Linux system