gpt4 book ai didi

regex - 在 bash 脚本中使用 sed

转载 作者:太空宇宙 更新时间:2023-11-04 11:28:37 25 4
gpt4 key购买 nike

使用通过 grep 命令获取的行号数组,然后我尝试增加行号并使用 sed 命令检索新行号上的内容,但我假设我的语法有问题(特别是 sed 部分,因为其他一切都有效。)

脚本如下:

#!/bin/bash


#getting array of initial line numbers

temp=(`egrep -o -n '\<a class\=\"feed\-video\-title title yt\-uix\-contextlink yt\-uix\-sessionlink secondary"' index.html |cut -f1 -d:`)

new=( )

#looping through array, increasing the line number, and attempting to add the
#sed result to a new array

for x in ${temp[@]}; do

((x=x+5))

z=sed '"${x}"q;d' index.html

new=( ${new[@]} $z )

done

#comparing the two arrays

echo ${temp[@]}
echo ${new[@]}

最佳答案

这可能对你有用:

#!/bin/bash


#getting array of initial line numbers

temp=(`egrep -o -n '\<a class\=\"feed\-video\-title title yt\-uix\-contextlink yt\-uix\-sessionlink secondary"' index.html |cut -f1 -d:`)

new=( )

#looping through array, increasing the line number, and attempting to add the
#sed result to a new array

for x in ${temp[@]}; do

((x=x+5))

z=$(sed ${x}'q;d' index.html) # surrounded sed command by $(...)

new=( "${new[@]}" "$z" ) # quoted variables

done

#comparing the two arrays

echo "${temp[@]}" # quoted variables
echo "${new[@]}" # quoted variables

你的 sed 命令没问题;它只需要被 $(...) 包围,并删除和重新排列不必要的引号。

顺便说一句

获取模式后五行的行 (GNU sed):

sed '/pattern/,+5!d;//,+4d' file

关于regex - 在 bash 脚本中使用 sed,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12763768/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com