从特定行 GREP 中搜索单词
Search word from certain line GREP
File type = "ooTextFile"
Object class = "TextGrid"
xmin = 0
xmax = 82.7959410430839
tiers? <exists>
size = 1
item []:
item [1]:
class = "IntervalTier"
name = "ortho"
xmin = 0
xmax = 82.7959410430839
intervals: size = 6
intervals [1]:a
xmin = 0
xmax = 15.393970521541949
text = "Aj tento rok organizuje Rádio Sud piva. Kto chce súťažiť, nemusí sa nikde registrovať.
intervals [2]:
xmin = 15.393970521541949
xmax = 27.58997052154195
.
.
.
您好,我正在处理数百个这样的文本文件。
我想从这个文本文件中过滤所有值 xmin=...
,但只从 16th
行过滤,因为在开始时有 xmins
,如您所见,它们是无用的。
我试过:
cat text.txt | grep xmin
但它显示了 xmin
所在的所有行。
请帮助我。我无法修改文本文件,因为我需要处理数百个文本文件,所以我必须设计合适的方式来过滤它们。
像这样:
awk 'FNR>15 && /xmin/' file*
xmin = 0
xmin = 15.393970521541949
它显示第 16
行的所有 xmin
您还可以打印找到的文件名xmin
awk 'FNR>15 && /xmin/ {=;print FILENAME" -> "[=11=]}' file*
file22 -> xmin = 0
file22 -> xmin = 15.393970521541949
更新:需要 FNR
才能处理多个文件。
使用sed
和grep
从单个文件的第16行到结尾查找"xmin":
sed -n '16,$p' foobar.txt | grep "xmin"
如果有多个文件,这里有一个 bash
脚本来获取输出:
#!/bin/bash
for file in ""/*; do
output=$(sed -n '16,$p' "$file" | grep "xmin")
if [[ -n $output ]]; then
echo -e "$file has follwoing entries:\n$output"; fi; done
运行 脚本为 bash script.sh /directory/containing/the/files/to/be/searched
File type = "ooTextFile"
Object class = "TextGrid"
xmin = 0
xmax = 82.7959410430839
tiers? <exists>
size = 1
item []:
item [1]:
class = "IntervalTier"
name = "ortho"
xmin = 0
xmax = 82.7959410430839
intervals: size = 6
intervals [1]:a
xmin = 0
xmax = 15.393970521541949
text = "Aj tento rok organizuje Rádio Sud piva. Kto chce súťažiť, nemusí sa nikde registrovať.
intervals [2]:
xmin = 15.393970521541949
xmax = 27.58997052154195
.
.
.
您好,我正在处理数百个这样的文本文件。
我想从这个文本文件中过滤所有值 xmin=...
,但只从 16th
行过滤,因为在开始时有 xmins
,如您所见,它们是无用的。
我试过:
cat text.txt | grep xmin
但它显示了 xmin
所在的所有行。
请帮助我。我无法修改文本文件,因为我需要处理数百个文本文件,所以我必须设计合适的方式来过滤它们。
像这样:
awk 'FNR>15 && /xmin/' file*
xmin = 0
xmin = 15.393970521541949
它显示第 16
xmin
您还可以打印找到的文件名xmin
awk 'FNR>15 && /xmin/ {=;print FILENAME" -> "[=11=]}' file*
file22 -> xmin = 0
file22 -> xmin = 15.393970521541949
更新:需要 FNR
才能处理多个文件。
使用sed
和grep
从单个文件的第16行到结尾查找"xmin":
sed -n '16,$p' foobar.txt | grep "xmin"
如果有多个文件,这里有一个 bash
脚本来获取输出:
#!/bin/bash
for file in ""/*; do
output=$(sed -n '16,$p' "$file" | grep "xmin")
if [[ -n $output ]]; then
echo -e "$file has follwoing entries:\n$output"; fi; done
运行 脚本为 bash script.sh /directory/containing/the/files/to/be/searched