linux字元串替換shell
『壹』 SHELL腳本對linux下指定文本文件的滿足條件的行的特定位置字元串進行替換
YDAY=$(date+"%Y%m%d"-d"-1days")
TDAY=$(date+"%Y%m%d")
awk-vYDAY=$YDAY-vTDAY=$TDAY'
NR==1{
if(substr($0,20,8)==YDAY)
$0=substr($0,1,19)TDAYsubstr($0,28)
if(substr($0,34,8)==YDAY)
$0=substr($0,1,33)TDAYsubstr($0,42)
}
/^TH/{
if(substr($0,21,8)==YDAY)
$0=substr($0,1,20)TDAYsubstr($0,29)
}
{print}'文件名
『貳』 shell命令和linux命令的區別
shell翻譯成殼的意思,它是包裹在Linux內核外層的,一個可通過一系列的Linux命令對操作系統發出相關指令的人機界面。shell可以通過其條件語句和循環語句等,把一系列Linux命令結合在一起,形成一個相當於面向過程的程序,即shell script,從而實現一些復雜的功能。
shell可以說是Linux命令集的概稱,屬於命令行的人機界面。shell是一個用C語言編寫的程序,它是用戶使用Linux的橋梁。shell既是一個命令語言,也是一個程序設計語言;其次,shell也指一種應用程序,這個應用程序提供了一個界面,用戶通過這個界面訪問操作系統內核的服務。
由此可見,shell相當於經過裝飾的命令行,它與命令行一樣,都能操作Linux;但是shell是面向過程的,相當於有了一定的邏輯和過程,而命令行只是單一的操作。
『叄』 linux 下用shell sed替換文本中的字元串
sed是行編輯器,用這個工具非常困難。可以參考以下腳本:
#!/bin/bash
while
read
line
do
if
echo
$line
|
grep
'Hour$'
>/dev/null;
then
echo
$line
|
tr
-d
'\n'
else
echo
$line
fi
done
<
$1
1,將上面腳本保存為fuck.sh
2,chmod
755
fuck.sh
3,./fuck.sh
file
『肆』 linux shell 腳本中怎樣將字元串轉化為命令
1.沒必要這樣。因為shell腳本執行的時候是在一個子shell中執行的,即使你成功的將字元串轉化為命令,你也不會因為腳本執行「cd /home」而在本shell中切換到/home下。……額,是不是說的繞了。。。
2.倘若按照你的想法,那就是一個新shell了。話句話說,你覺得像bash、sh、csh等等這些shell難道僅僅是一個腳本嗎?再換句話說,難道bash僅僅是在sh的一個腳本嗎?……
=====
3.假如真的需要在使用腳本的時候讓使用者自己輸入需要腳本執行的命令,只能用選擇語句或者判斷語句來匹配使用者的輸入。因為使用者在使用腳本時輸入給腳本的「命令」從根本上講並不是命令,對腳本而言它僅僅是一個執行過程中的「選項」。好比「(1)刪除(2)增加(3)退出... 請輸入選項:」這種最平常的方式,拓展開也就是把提示去掉變成「請輸入命令:」,而在使用者輸入之後腳本用 if 刪除==輸入字元串 then 。。。這樣的方式來滿足需求。
======
沒了。
『伍』 linux替換文件中的字元串怎麼使用
可以通過shell腳本替換字元串方式,如果知道第幾行,格式如下:
hello
字元串內容可能是任意字元串,如何把>和<中間的字元串替換為我的字元串比如world
具體例子:
比如要替換第128行
sed
-i
'128s/>.*world
'
test.txt
這樣子</pre
評論
0
0
載入更多
『陸』 知乎 linux命令和shell腳本的區別
准確上講應該說是
shell
腳本文件編程(當然了,在該
shell
腳本文件中也可以包含
linux
系統命令)。shell
腳本文件是一個文本文件,它是將你需要完成的各種復雜功能通過編寫
shell
程序來實現。例如:模式匹配(awk)
、字元串替換功能(sed)等。在
awk
和
sed
等工具的使用中肯定需要使用正則表達式的熟練使用,而
linux
命令是指
linux
系統的基本操作命令,例如:ls
列出文件名命令、cat
filename、cd
改變子目錄命令等等。這就是它們之間的區別。
『柒』 linux shell如何將本身是變數字元串日期批量替換
一條語句就夠了:
cat 1.txt | sed -r "s/[0-9]{8}/`date -d yesterday +%Y%m%d`/" > 2.txt
『捌』 linux如何替換文件指定行的特定位置字元串
可以通過Shell腳本替換字元串方式,如果知道第幾行,格式如下:
<string id="str_ig_ghjjk">hello</string>
字元串內容可能是任意字元串,如何把>和<中間的字元串替換為我的字元串比如world
具體例子:
比如要替換第128行
sed -i '128s/>.*</>world</' test.txt
這樣子
『玖』 linux shell中 sed 文件的1到7行行首有指定字元串的整行替換為為指定內容.
sed '1,7s/^字元串.*/替換內容/' file
不要隨便加 -i 參數。先確定好在加。