截取脚本
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