您的位置:首页 > 其它

sed 处理 多个文件的问题

2013-08-01 18:04 176 查看
1,motivation:

  需要将多个零散的统一格式文件中一行抽取出来(ex:所有文件第三行都是描述url信息)

2,trial

  使用sed -n ‘3p’ * 发现 只能打印出一行,多次实验后不明原因之后放弃,改用shell脚本

#!/bin/bash
for file in `ls ./`
do
echo $file
if [[ $file == std* ]]
then
sed -n '3p' $file >> tmp1
fi
done


虽然该方案能够解决问题,但不是最优方案。

3,optimal solution

再次 search sed 的相关信息,man sed还是最definitive,发现 -s 参数,consider files as separate rather than as a single continuous long stream.

恍然大误,原来之前所有的files当成了一个stream处理了,难怪只是打印一行。最终方案 sed -ns '3p' * ~
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐