截取腳本
1. shell腳本處理字元串截取的問題
#!/bin/bash
sed 's/|/ /' file.txt | while read x y
do
echo $x
echo $y
done
還有一種方法,設置全局分隔符ifs(環境變數):
#!/bin/bash
default=$ifs #先備份
ifs="|"
while read x y
do
echo $x
echo $y
done <./file.txt
ifs=$default #後恢復當然,退出腳本後會自動恢復。因為腳本是在新建shell中執行,所有對環境變數的改動不會影響原shell。
這里之所以加上備份與恢復機制,是考慮到腳本中可能有其他內容,是為了不影響其他腳本段的執行。
2. bat腳本 截取字元串
貌似bat,難以實現可以用下面的辦法。
dir /b >list.txt
然後用文本編輯器或word把-號替換成半形逗號或製表符(Tab),然後導入Excel,就可以分開了。
如果需要重復操作,可以在Excel里建個宏。數據\獲取外部數據\自文本,導入txt文件,分隔符號設為-號,導入後把需要的列復制出來,或者把不要列刪除掉再保存為txt文件。
3. 求教shell腳本截取文本
親,sed的參數用雙引號。我給你的代碼用的是單引號因為你提問時問的是bbbb
而不是$line
sed -n '/^'"$line"'$/,$p'
單引號內不會發生變數擴展
雙引號會發生變數擴展,但是$屬於元字元所以需要轉義。
小米飛貓的回答也是不對的,因為$/ $p會被shell替換成空字元串。並沒有傳遞給sed命令。
4. 求shell腳本,目的是在一段文字中截取某一行某個單詞
awk-F":"'/([0-9][0-9]?[0-9]?.){3}[0-9][0-9?[0-9]?/{ip=$1}END{printip}'test.txt
截取有IP的最後一行的windows7{xx}
5. shell腳本 中如何截取文件名中的指定字元串
linux85:~ # date=`echo "abcd(111222333)" | awk -F "(" '{print $2}'`
linux85:~ # echo $date
111222333)
linux85:~ # echo $date|awk '{print substr($0,1,9)}'
111222333
6. 關於python腳本截取字元串的方法
這里有一個邏輯錯誤 if not data:continue是錯的。要改成if not data:break。如果不改會死循環。
如果要提取data的內容,通常是先要收集,再提取。
比如先建立一個列表datalist=[]
取到data後。 datalist.append(data)
取完數據後用正則
results=re.findall("(?isu)FF ([^\r\n]+)","".joint(datalist))
這樣應該就可以了。
7. BAT腳本,截取字元竄
可以實現的,代碼如下:
說明:把代碼放到原文本同目錄下,修改代碼裡面的「1.txt」為原文本名稱,「2.txt」為提取後的新文本名稱。不懂可以繼續追問。
‍
@echooff&
for/f"delims="%%ain(1.txt)do(echo%%a>>2.txt
if%%a==returngoto:2
)
echo運行錯誤!
pause
exit
:2
echo提取完畢!
pause
代碼已經經過測試,代碼源同時附上。
8. 如何用shell腳本實現截取下列字元串
for /f "tokens=1 delims=#" %i in (ip.txt) do @echo %i
ip.txt 待處理文件
9. 如何用shell腳本語言去截取字元串
一. 概念
在shell中通過截取字元串操作可以提取到我們所需要的特定字元串
二. 操作符
① #表示 從左截取,刪除左邊字元,保留右邊字元
其中 str是變數名,# 號是運算符,*//表示從左邊開始刪除第一個 //號及左邊的所有字元
② %表示從右邊開始截取,刪除右邊字元,保留左邊字元
其中str是變數名,%號是運算符,/*表示從右邊開始刪除第一個/號及右邊的所有字元
③ ##表示從左邊開始截取,刪除左邊字元,保留右邊字元
其中str是變數名,##號是運算符,*/表示從左邊開始匹配最後一個(最右邊一個)/,並且刪除該/及前面的所有字元
④ %%表示從右邊開始截取,刪除右邊字元,保留左邊字元
其中str是變數名,%%號是運算符,/*表示從右邊開始匹配最後一個(最左邊一個)/,並且刪除該/及右邊的所有字元
⑤ 從左邊第幾個字元開始,及字元的個數
其中的 0 表示左邊第一個字元開始,10表示字元的總個數。
三.採用cut工具截取
-c選項表示用字元定位: 3,7表示截取第三個字元和第七個字元,4-9表示截取第四個字元到第九個字元
10. shell腳本截取字元串中的值
grep -a 'Office=*' /opt/applog/auditlog/jcf_adapterServer.2017062318.audit.001.log |awk -F";" '{print $7}'|cut -d= -f2
SHA001