我在一個文件中有很多行,只包含' - ',我想每行都包含' - '。但是文件中還有許多其他行包含'SOMETEXT - SOMETEXT'。Sed刪除包含n個字符的行
sed -i「/ -/d」將刪除所有' - '的實例,但我只想刪除所有隻包含' - '的行。
我在一個文件中有很多行,只包含' - ',我想每行都包含' - '。但是文件中還有許多其他行包含'SOMETEXT - SOMETEXT'。Sed刪除包含n個字符的行
sed -i「/ -/d」將刪除所有' - '的實例,但我只想刪除所有隻包含' - '的行。
您可以使用^
和$
指示線
sed -i '/^--$/d'
含有如果要包括與前/後空格線僅--
將匹配正則表達式^--$
線的開始和結束,它可以擴展到
^\s*--\s*$
sed -i '/^--$/' file
^
和$
字符分別將搜索「錨定」到行的開頭和結尾。
或者是否有可能是在前面的空格或後並假設modernish sed
sed -i '/^[[:space:]]*--[[:space:]]*$/' file
其中[:space:]
會發現空間字符和標籤。
ELSE共復古sed
應該處理
sed '/^[ ]*--[ ]*$/' file > newFile && mv newFile file
,如果有可能的選項卡,然後只包括一個選項卡字符與空間字符一起,即\
[<Space><TAB>]
,但沒有說,出來,只需輸入一個空格字符和一個選項卡字符將做到這一點。
IHTH