sedlinux
⑴ 誰能幫忙解釋下linux shell程序中的sed "s/$//;s/ *//g;/^$/d" 這句是什麼意思
意思是刪除空行,空行包括沒有任何字元的空行,和只有若干個空格的空行。
1、s/$// 在每一行後面追加空。
2、s為搜索。
如:s/a/b/
搜索a將替換為b ,並只替換一次。
3、s/ *//g 將空格刪除。
4、g代表搜索到的全部替換 。
5、「空格星」(" *") 代理多個空格。
6、/^$/d 刪除空行。
(1)sedlinux擴展閱讀:
作用
catfile.pl
useGetopt::Std;
usevarsqw($opt_d$opt_f$opt_p);
getopts('d:f:p');
print"$opt_d=>$opt_d "if$opt_d;
print"$opt_f=>$opt_f "if$opt_f;
print"$opt_p=>$opt_p
"if$opt_p;
然後在命令行中運行:
perlfile.pl-d20040412-flouiskoochen-p
可得到下列形式的輸出:
$opt_d=>200040412
$opt_f=>louiskoochen
$opt_p=>1
解釋一下"d:f:p",d和f後有冒號,表示-d,-f後面要跟參數。p後面沒有冒號,表示-p後面不帶參數。而且-d,-f後所跟的參數分別賦給變數$opt_d和$opt_f。對於變數$opt_p,若命令行加了-p,則$opt_p=1,否則為0。
⑵ linux中sed命令如何運用『\ 』 反斜杠
在Linux中sed命令可以用於替換但是替換的內容有時會包括元字元
這時需要使用'\'反斜杠將元字元轉換成普通字元
例如:
ifconfig eth0|sed -n '2p'|cut -d: -f2|grep -o "[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}"`
⑶ linux下sed使用
一、Sed簡介 Sed:Stream Editor 流式編輯器 又稱行編輯器,每次只編輯一行。Sed工作是在“模式空間”中進行的,並不操作源文件。對源文件無危害。 二、Sed使用格式 Sed命令的常用格式如下: (1)Sed [options] ‘script’ input_file… (2)Sed [options] –f script_file input_file… (3)Sed [options] ‘ADDR1,ADDR2command’ input_file… 例如:#sed ’1,2d’ fstab 就可以將fstab的前兩行刪除並顯示出來,但是它不會改變源文件。 #Sed ‘1,2!d’ fstab 表示刪除除第一行和第二行之外的所有行。 (4)Sed [options] ‘/PATTERN/command’ input_file…… &:s/l..e/&er/:表示引用前面匹配到的所有字元。 例如:sed ‘/[[:upper:]]/d’ binary.sh 表示刪除所有的大寫字母的行。 (5)Sed ‘/PATTERN1/,/PATTERN2/command’ input_file…… 說明:這表示從第一次被PATTERN1匹配到的行到第一次被PATTERN2匹配到的中間的所有行執行command命令。 三、Sed的常用選項: -n:只顯示sed匹配到的行。其餘行不顯示。下文有範例。 -i :可以直接操作原文件。默認情況下sed不會改變原文件,但是-i選項可以修改原文件,此選項應慎用。 -r:可以使用標准正則表達式。默認情況下sed只支持基本正則表達式,但是加上-r選項後則支持擴展正則表達式 -e:多腳本共用。可以同時執行多個命令。例如: 代碼如下: [root@localhost ~]# sed -e 's@@H1@g' -e 's@(l..e).@1r.@g' test He love His lover. She like Her liker. Dove love Her liker. 也可以這樣用,中間用分號隔開: 代碼如下: [root@localhost ~]# sed 's@@H1@g;s@(l..e).@1r.@g' test 四、使用示例 代碼如下: #sed -e 命令行處理 -a 新增 > sed -e '$ a wiu' test.txt #在test.txt的結尾處添加wiu 代碼如下: # 把-e換成-n > sed -n '$ a wiu' test.txt # 只顯示被處理的一行 代碼如下: # -c 替換多少行 為你制定的字元串,這里我的test.txt內容如圖 > sed -e '2,5c xiaowei' test.txt #把2-5行替換成字元串xiaowei 代碼如下: # 多命令執行 -e > sed -e '2,5c xiaowei' -e 's/cccc/wiu/' test.txt 代碼如下: # -i 不輸出 -s 替換 >sed -i 's/111111/wiu/g' test.txt 代碼如下: # i 插入 自定義的字元串 在test.txt的第二行插入xiaowei > sed -e '2i xiaowei' test.txt 代碼如下: # d 刪除輸入任何字元串 > sed -e '2d' test.txt #刪除第二行
⑷ Linux裡面sed -e命令作用是什麼
sed -e是可以在同一行內執行多條命令,而不加-e則不可以
⑸ 關於linux里的sed的b標簽的用法
這是老式編程語言里的標簽跳轉, 相當於C語言裡面的goto語句
可以實現 分支選擇, 循環等功能
sed '/^AA/ba;s/$/ NO/;b;:a;s/$/ YES/' 解讀如下
sed是逐行掃描的
/^AA/ba;s/$/ NO/ 意思是如果當前行句首是AA
則跳轉到標簽a,執行s/$/ YES/ 即在行末插入YES (這里使用替換s命令實現插入)
否則執行s/$/ NO/, 在行末插入NO
對所有行都執行這種操作, 大功告成
⑹ linux,sed命令的sed怎麼發音....
http://..com/link?url=-
⑺ linux下如何用sed命令將$(VAR) 替換為 ${VAR}
sed 's/$(\([^)]*\))/${\1}/g' filename
⑻ Linux中的sed是什麼意思呢,如何使用呢
Sed是一項Linux指令,全稱是Stream
EDitor,功能同awk類似,差別在於,sed簡單,對列處理的功能要差一些,awk的功能復雜,對列處理的功能比較強大。Sed主要用於自動編輯一個或者多個文件,多用於腳本中對文件的處理。
Sed命令可以對文件進行增加、刪除、修改和查找操作,所以學好sed命令是寫自動化腳本必須的基礎之一。
調用sed命令有兩種形式:
sed [options] 'command' file(s)
sed [options] -f scriptfile file(s)
sed命令主要選項
-e command,--expression=command允許多台編輯。
-h,--help列印幫助,並顯示bug列表的地址。
-n,--quiet,--silent取消默認輸出。
-f,--filer=script-file引導sed腳本文件名。
-V,--version列印版本和版權信息。
命令:
a\在當前行後面加入一行文本。
b label分支到腳本中帶有標記的地方,如果分支不存在則分支到腳本的末尾。
c\用新的文本改變本行的文本。
d 從模板塊位置刪除行。
D 刪除模板塊的第一行。
i\在當前行上面插入文本。
h拷貝模板塊的內容到內存中的緩沖區。
H 追加模板塊的內容到內存中的緩沖區。
g 獲得內存緩沖區的內容,並替代當前模板塊中的文本。
G 獲得內存緩沖區的內容,並追加到當前模板塊文本的後面。
l 列表不能列印字元的清單。
n 讀取下一個輸入行,用下一個命令處理新的行而不是用第一個命令。
N 追加下一個輸入行到模板塊後面並在二者間嵌入一個新行,改變當前行號碼。
p 列印模板塊的行。
P 列印模板塊的第一行。
q 退出Sed。
r file從file中讀行。
t labelif分支,從最後一行開始,條件一旦滿足或者T,t命令,將導致分支到帶有標號的命令處,或者到腳本的末尾。
T label錯誤分支,從最後一行開始,一旦發生錯誤或者T,t命令,將導致分支到帶有標號的命令處,或者到腳本的末尾。
w file寫並追加模板塊到file末尾。
W file寫並追加模板塊的第一行到file末尾。
! 表示後面的命令對所有沒有被選定的行發生作用。
s/re/string 用string替換正則表達式re。
= 列印當前行號碼。
# 把注釋擴展到下一個換行符以前。
⑼ Linux中的sed是什麼意思呢,簡單解釋一下啊
你好。
linux系統中的sed是一個命令,具體說:sed是一個很好的文件處理工具,本身是一個管道命令,主要是以行為單位進行處理,可以將數據行進行替換、刪除、新增、選取等特定工作。