我输入(output.txt几乎有2000行),如
lorem ipsum lorem ipsum ["a","b","c","d"] lorem ipsum lorem ipsum ["e","f","g","h"]
我的output1.txt应为
a b c d e f g h
首先,我试图将[]中的所有值放在一个文件中。但最终我的目标是实现output1.txt。如果有人帮助我一次性完成(在[]中提取数据并删除“”和逗号并在每行中放置值,那将会很棒)
我的代码截至目前
reg="\[([^]]+)\]"
while IFS='' read -r line || [[ -n "$line" ]]; do
if [[ $line = ~$reg ]] ; then echo "$line" >> home/hdpsrvc/sandeep/hbase/output1.txt ; fi
done < /home/hdpsrvc/sandeep/hbase/output.txt
文件不是在指定路径中创建的,也不是在终端上没有错误。我按照以下stackoverflow链接编写上面的代码
shell script. how to extract string using regular expressions Regular expression to extract text between square brackets
答案 0 :(得分:0)
awk
可以轻松完成此任务:
cd /home/hdpsrvc/sandeep/hbase
awk -F'[][," ]+' '/\[.*\]/{for (i=2; i<NF; i++) print $i}' output.txt > output1.txt
a
b
c
d
e
f
g
h