以下是文字的内容:
428, "http://www.youtube.com/watch?v=aqlJl1LfDP4", "NEW YORK,NEW YORK- FRANK SINATRA - YouTube", "moc.ebutuoy.www.", 1, 0, 0, 20, 96, 1329427038818198, "aiODk063S1YW"
429, "http://www.youtube.com/watch?v=KIiUqfxFttM&feature=list_related&playnext=1&list=AVGxdCwVVULXfJnKOaSACBmNaC6ZZ71zS7", "Frank Sinatra - That's Life - YouTube", "moc.ebutuoy.www.", 1, 0, 0, 20, 96, 1329427228164029, "96X5yyV88p8v"
id,url,title,...unnecessary info...
我想在bash脚本中获取文本文件的每一行。获取第二个参数(url),然后将其修补到脚本中。
我不确定如何为每一行循环,然后拉出第二个参数。
由于
答案 0 :(得分:2)
for URL in $(cut -d, -f2 < file)
do
echo $URL
done
答案 1 :(得分:1)
cut -f 2 -d " " thefile.txt
答案 2 :(得分:0)
打印每行的第二个参数:
awk '{ print $2 }' thefile.txt
在脚本中使用它(即循环遍历它):
for URL in `awk '{ print $2 }' thefile.txt`
do
echo $URL
done
需要注意的一件重要事情是,"
和,
将包含在网址中。
如果你想删除它们,只需抓住第二个参数的子串:
awk '{ print substr( $2, 2, length($2) -3 ) }' thefile.txt
我们从该行的第二个字符开始,并显示该行的全长-3。
循环:
for URL in `awk '{ print substr( $2, 2, length($2) -3 ) }' thefile.txt`
do
echo $URL
done
答案 3 :(得分:0)
根据Oli的回答,您可以使用sed删除开头"
和最终",
:
cut -f 2 -d " " thefile.txt | sed -e "s/^\"//" -e "s/\"\,$//"