1
xuyinan503 2015-11-21 23:03:30 +08:00
test.xml 啥内容
|
2
fnmsd OP |
3
xuyinan503 2015-11-21 23:10:44 +08:00
|
4
RickyBoy 2015-11-21 23:13:59 +08:00
覆盖掉开头部分什么意思?
正常应该输出 test test:123456 |
5
Arthur2e5 2015-11-22 01:14:34 +08:00
是不是因为 Windows CRLF 所以被 $line 里的 \r 干了?
|
6
Arthur2e5 2015-11-22 02:18:05 +08:00
echo 之前加一个 `line=${line%$'\r'}` 去掉 CR 就好了。
其实你完全用不着 sed : ```Bash while IFS='' read -r -u 4 line; do [[ $line =~ <name>(.*)</name> ]] || continue printf '%s\n' "${BASH_REMATCH[1]}:123456" done ``` |