【发布时间】:2011-11-14 06:47:44
【问题描述】:
我正在编写一个 bash 脚本来解析制表符分隔的文本文件中的一些字段,并将它们附加到文件本身的文件名中。我可以使用 awk 很好地解析这些字段,但它们附带了一个换行符。我想要么从结果中删除那些换行符,要么理想地阻止 awk 首先附加它们。示例代码,现在仅从存储的字符串中回显:
#!/bin/bash
echo "Usage: sh extract.sh filename.txt (or *.txt)"
for filenam in "$@"
do
timestring=$(awk 'BEGIN{ FS="\t"; RS="\n"; ORS="_"; OFS="_"}
/Conditions/ {printf $2}
/Date/ {printf $2}
/Time/ {printf $2}
END {}' $filenam)
echo $timestring
done
目前,每次找到匹配项时,它都会覆盖任何以前的匹配项,因为 \n 附加到字符串的末尾。我该如何防止呢? (这样我就有 conditions_date_time 作为字符串,没有任何换行符)。
很抱歉,这似乎是一个简单的问题,但我已经搜索了几个小时并尝试了各种方法,但我很困惑。谢谢!
【问题讨论】: