小编est*_*ose的帖子

for 循环输入行

我有一个像这样有很多行的文件

/item/pubDate=2014 年 2 月 23 日星期日 00:55:04 +010

如果我执行这个

echo "/item/pubDate=Sun, 23 Feb 2014 00:55:04 +010" | grep -Po "(?<=\=).*"

Sun, 23 Feb 2014 00:55:04 +010
Run Code Online (Sandbox Code Playgroud)

我得到了正确的日期(全部在一行中)。现在我想用 xml 文件中的很多日期来尝试这个。我用这个,没问题。

xml2 < date_list | egrep "pubDate" | grep -Po "(?<=\=).*"
Fri, 22 Jan 2016 17:56:29 +0100
Sun, 13 Dec 2015 18:33:02 +0100
Wed, 18 Nov 2015 15:27:43 +0100
...
Run Code Online (Sandbox Code Playgroud)

但现在我想在 bash 程序中使用日期,我得到了这个输出

for fecha in $(xml2 < podcast | egrep "pubDate" | grep -Po "(?<=\=).*"); do echo $fecha; done
    Fri, …
Run Code Online (Sandbox Code Playgroud)

bash text-processing for

6
推荐指数
1
解决办法
3535
查看次数

读取行被忽略

我在简单阅读时遇到问题。我读取了 xml 项目的列表,然后使用它们。在某些时候,我需要询问我是否确定并接受变量中的此响应。\n我的问题是,如果我询问“while read linea”,“read -p ...”将被忽略,我无法回答这个问题。

\n\n
xml2 < list | egrep "item" | egrep "url|pubDate|title" |  while read linea; \ndo \n\n    case 1 in\n        $(($x<= 1)))\n            ...\n            ;;\n        $(($x<= 2)))\n            ...\n            ;;\n        $(($x<= 3)))\n            ....                        \n            if [ $DIFERENCIA -lt $num_dias ];        \n            then  \n\n                ...                             \n                read -p \xe2\x80\x9cAre you sure: \xe2\x80\x9d sure                              \n                ...\n\n            fi                           \n\n            ...\n            ;;                \n        *)\n            let x=1\n            ;;\n    esac      \n\ndone  \n
Run Code Online (Sandbox Code Playgroud)\n\n

谢谢

\n

bash read

3
推荐指数
1
解决办法
1280
查看次数

标签 统计

bash ×2

for ×1

read ×1

text-processing ×1