一、去除空行的方法
有時我們在處理和查看文件時,經常會有很多空行,爲了美觀或是有需要時,就有必要把這些除行去掉了,方法如下:
1)用tr命令
代碼如下:
cat 文件名 |tr -s ‘\n'
2)用sed命令
代碼如下:
cat 文件名 |sed ‘/^$/d'
3)用awk命令
代碼如下:
cat 文件名 |awk ‘{if($0!=”")print}'
cat 文件名 |awk ‘{if(length !=0) print $0}'
4)用grep命令
代碼如下:
grep -v “^$” 文件名
二、去除空格的方法
下面介紹sed是怎樣實現的,當然awk同樣可以。
1、刪除行首空格
代碼如下:
sed ‘s/^[ \t]*//g'
說明:
第一個/的左邊是s表示替換,即將空格替換爲空。
第一個/的右邊是表示後面的以xx開頭。
中括號表示“或”,空格或tab中的任意一種。這是正則表達式的規範。
中括號右邊是*,表示一個或多個。
第二個和第三個\中間沒有東西,表示空
g表示替換原來buffer(緩衝區)中的,sed在處理字符串的時候並不對源文件進行直接處理,先創建一個buffer,但是加g表示對原buffer進行替換
整體的意思是:用空字符去替換一個或多個用空格或tab開頭的本體字符串
2、刪除行末空格
代碼如下:
sed ‘s/[ \t]*$//g'
和上面稍微有些不同是前面刪除了^符,在後面加上了美元符,這表示以xx結尾的字符串爲對象。
但是要注意在KSH中,Tab並不是\t而是直接打入一個Tab就可以了。
3、刪除所有的空格
代碼如下:
sed s/[[:space:]]//g