head 1.1; branch 1.1.1; access; symbols pkgsrc-2026Q1:1.1.1.1.0.178 pkgsrc-2026Q1-base:1.1.1.1 pkgsrc-2025Q4:1.1.1.1.0.176 pkgsrc-2025Q4-base:1.1.1.1 pkgsrc-2025Q3:1.1.1.1.0.174 pkgsrc-2025Q3-base:1.1.1.1 pkgsrc-2025Q2:1.1.1.1.0.172 pkgsrc-2025Q2-base:1.1.1.1 pkgsrc-2025Q1:1.1.1.1.0.170 pkgsrc-2025Q1-base:1.1.1.1 pkgsrc-2024Q4:1.1.1.1.0.168 pkgsrc-2024Q4-base:1.1.1.1 pkgsrc-2024Q3:1.1.1.1.0.166 pkgsrc-2024Q3-base:1.1.1.1 pkgsrc-2024Q2:1.1.1.1.0.164 pkgsrc-2024Q2-base:1.1.1.1 pkgsrc-2024Q1:1.1.1.1.0.162 pkgsrc-2024Q1-base:1.1.1.1 pkgsrc-2023Q4:1.1.1.1.0.160 pkgsrc-2023Q4-base:1.1.1.1 pkgsrc-2023Q3:1.1.1.1.0.158 pkgsrc-2023Q3-base:1.1.1.1 pkgsrc-2023Q2:1.1.1.1.0.156 pkgsrc-2023Q2-base:1.1.1.1 pkgsrc-2023Q1:1.1.1.1.0.154 pkgsrc-2023Q1-base:1.1.1.1 pkgsrc-2022Q4:1.1.1.1.0.152 pkgsrc-2022Q4-base:1.1.1.1 pkgsrc-2022Q3:1.1.1.1.0.150 pkgsrc-2022Q3-base:1.1.1.1 pkgsrc-2022Q2:1.1.1.1.0.148 pkgsrc-2022Q2-base:1.1.1.1 pkgsrc-2022Q1:1.1.1.1.0.146 pkgsrc-2022Q1-base:1.1.1.1 pkgsrc-2021Q4:1.1.1.1.0.144 pkgsrc-2021Q4-base:1.1.1.1 pkgsrc-2021Q3:1.1.1.1.0.142 pkgsrc-2021Q3-base:1.1.1.1 pkgsrc-2021Q2:1.1.1.1.0.140 pkgsrc-2021Q2-base:1.1.1.1 pkgsrc-2021Q1:1.1.1.1.0.138 pkgsrc-2021Q1-base:1.1.1.1 pkgsrc-2020Q4:1.1.1.1.0.136 pkgsrc-2020Q4-base:1.1.1.1 pkgsrc-2020Q3:1.1.1.1.0.134 pkgsrc-2020Q3-base:1.1.1.1 pkgsrc-2020Q2:1.1.1.1.0.130 pkgsrc-2020Q2-base:1.1.1.1 pkgsrc-2020Q1:1.1.1.1.0.110 pkgsrc-2020Q1-base:1.1.1.1 pkgsrc-2019Q4:1.1.1.1.0.132 pkgsrc-2019Q4-base:1.1.1.1 pkgsrc-2019Q3:1.1.1.1.0.128 pkgsrc-2019Q3-base:1.1.1.1 pkgsrc-2019Q2:1.1.1.1.0.126 pkgsrc-2019Q2-base:1.1.1.1 pkgsrc-2019Q1:1.1.1.1.0.124 pkgsrc-2019Q1-base:1.1.1.1 pkgsrc-2018Q4:1.1.1.1.0.122 pkgsrc-2018Q4-base:1.1.1.1 pkgsrc-2018Q3:1.1.1.1.0.120 pkgsrc-2018Q3-base:1.1.1.1 pkgsrc-2018Q2:1.1.1.1.0.118 pkgsrc-2018Q2-base:1.1.1.1 pkgsrc-2018Q1:1.1.1.1.0.116 pkgsrc-2018Q1-base:1.1.1.1 pkgsrc-2017Q4:1.1.1.1.0.114 pkgsrc-2017Q4-base:1.1.1.1 pkgsrc-2017Q3:1.1.1.1.0.112 pkgsrc-2017Q3-base:1.1.1.1 pkgsrc-2017Q2:1.1.1.1.0.108 pkgsrc-2017Q2-base:1.1.1.1 pkgsrc-2017Q1:1.1.1.1.0.106 pkgsrc-2017Q1-base:1.1.1.1 pkgsrc-2016Q4:1.1.1.1.0.104 pkgsrc-2016Q4-base:1.1.1.1 pkgsrc-2016Q3:1.1.1.1.0.102 pkgsrc-2016Q3-base:1.1.1.1 pkgsrc-2016Q2:1.1.1.1.0.100 pkgsrc-2016Q2-base:1.1.1.1 pkgsrc-2016Q1:1.1.1.1.0.98 pkgsrc-2016Q1-base:1.1.1.1 pkgsrc-2015Q4:1.1.1.1.0.96 pkgsrc-2015Q4-base:1.1.1.1 pkgsrc-2015Q3:1.1.1.1.0.94 pkgsrc-2015Q3-base:1.1.1.1 pkgsrc-2015Q2:1.1.1.1.0.92 pkgsrc-2015Q2-base:1.1.1.1 pkgsrc-2015Q1:1.1.1.1.0.90 pkgsrc-2015Q1-base:1.1.1.1 pkgsrc-2014Q4:1.1.1.1.0.88 pkgsrc-2014Q4-base:1.1.1.1 pkgsrc-2014Q3:1.1.1.1.0.86 pkgsrc-2014Q3-base:1.1.1.1 pkgsrc-2014Q2:1.1.1.1.0.84 pkgsrc-2014Q2-base:1.1.1.1 pkgsrc-2014Q1:1.1.1.1.0.82 pkgsrc-2014Q1-base:1.1.1.1 pkgsrc-2013Q4:1.1.1.1.0.80 pkgsrc-2013Q4-base:1.1.1.1 pkgsrc-2013Q3:1.1.1.1.0.78 pkgsrc-2013Q3-base:1.1.1.1 pkgsrc-2013Q2:1.1.1.1.0.76 pkgsrc-2013Q2-base:1.1.1.1 pkgsrc-2013Q1:1.1.1.1.0.74 pkgsrc-2013Q1-base:1.1.1.1 pkgsrc-2012Q4:1.1.1.1.0.72 pkgsrc-2012Q4-base:1.1.1.1 pkgsrc-2012Q3:1.1.1.1.0.70 pkgsrc-2012Q3-base:1.1.1.1 pkgsrc-2012Q2:1.1.1.1.0.68 pkgsrc-2012Q2-base:1.1.1.1 pkgsrc-2012Q1:1.1.1.1.0.66 pkgsrc-2012Q1-base:1.1.1.1 pkgsrc-2011Q4:1.1.1.1.0.64 pkgsrc-2011Q4-base:1.1.1.1 pkgsrc-2011Q3:1.1.1.1.0.62 pkgsrc-2011Q3-base:1.1.1.1 pkgsrc-2011Q2:1.1.1.1.0.60 pkgsrc-2011Q2-base:1.1.1.1 pkgsrc-2011Q1:1.1.1.1.0.58 pkgsrc-2011Q1-base:1.1.1.1 pkgsrc-2010Q4:1.1.1.1.0.56 pkgsrc-2010Q4-base:1.1.1.1 pkgsrc-2010Q3:1.1.1.1.0.54 pkgsrc-2010Q3-base:1.1.1.1 pkgsrc-2010Q2:1.1.1.1.0.52 pkgsrc-2010Q2-base:1.1.1.1 pkgsrc-2010Q1:1.1.1.1.0.50 pkgsrc-2010Q1-base:1.1.1.1 pkgsrc-2009Q4:1.1.1.1.0.48 pkgsrc-2009Q4-base:1.1.1.1 pkgsrc-2009Q3:1.1.1.1.0.46 pkgsrc-2009Q3-base:1.1.1.1 pkgsrc-2009Q2:1.1.1.1.0.44 pkgsrc-2009Q2-base:1.1.1.1 pkgsrc-2009Q1:1.1.1.1.0.42 pkgsrc-2009Q1-base:1.1.1.1 pkgsrc-2008Q4:1.1.1.1.0.40 pkgsrc-2008Q4-base:1.1.1.1 pkgsrc-2008Q3:1.1.1.1.0.38 pkgsrc-2008Q3-base:1.1.1.1 cube-native-xorg:1.1.1.1.0.36 cube-native-xorg-base:1.1.1.1 pkgsrc-2008Q2:1.1.1.1.0.34 pkgsrc-2008Q2-base:1.1.1.1 cwrapper:1.1.1.1.0.32 pkgsrc-2008Q1:1.1.1.1.0.30 pkgsrc-2008Q1-base:1.1.1.1 pkgsrc-2007Q4:1.1.1.1.0.28 pkgsrc-2007Q4-base:1.1.1.1 pkgsrc-2007Q3:1.1.1.1.0.26 pkgsrc-2007Q3-base:1.1.1.1 pkgsrc-2007Q2:1.1.1.1.0.24 pkgsrc-2007Q2-base:1.1.1.1 pkgsrc-2007Q1:1.1.1.1.0.22 pkgsrc-2007Q1-base:1.1.1.1 pkgsrc-2006Q4:1.1.1.1.0.20 pkgsrc-2006Q4-base:1.1.1.1 pkgsrc-2006Q3:1.1.1.1.0.18 pkgsrc-2006Q3-base:1.1.1.1 pkgsrc-2006Q2:1.1.1.1.0.16 pkgsrc-2006Q2-base:1.1.1.1 pkgsrc-2006Q1:1.1.1.1.0.14 pkgsrc-2006Q1-base:1.1.1.1 pkgsrc-2005Q4:1.1.1.1.0.12 pkgsrc-2005Q4-base:1.1.1.1 pkgsrc-2005Q3:1.1.1.1.0.10 pkgsrc-2005Q3-base:1.1.1.1 pkgsrc-2005Q2:1.1.1.1.0.8 pkgsrc-2005Q2-base:1.1.1.1 pkgsrc-2005Q1:1.1.1.1.0.6 pkgsrc-2005Q1-base:1.1.1.1 pkgsrc-2004Q4:1.1.1.1.0.4 pkgsrc-2004Q4-base:1.1.1.1 pkgsrc-2004Q3:1.1.1.1.0.2 pkgsrc-2004Q3-base:1.1.1.1 pkgsrc-base:1.1.1.1 TNF:1.1.1; locks; strict; comment @# @; 1.1 date 2004.07.14.11.41.52; author agc; state Exp; branches 1.1.1.1; next ; 1.1.1.1 date 2004.07.14.11.41.52; author agc; state Exp; branches; next ; desc @@ 1.1 log @Initial revision @ text @Normally, in a pipeline, when you need to edit some phase of the data stream, you use a standard tool such as sed, grep, or awk to alter, filter, or otherwise manipulate the stream. One potential problem with this approach is that the manipulations have to be very well thought out in advance. Another is that the manipulations will probably need to be applied uniformly. And third, the data must be very well understood in advance. Not all situations and data easily conform to these constraints. Alternatively, when the changes needed for the data are more than trivial, or perhaps you just don't feel like expending the mental energy needed to work out all the expressions in advance, a typical approach might be to run some process or pipeline, dump output to a file, edit the file with vi, pico, or emacs, then push the data along to the next phase by using the file as input to some additional process or pipeline. The catch here - other than the sheer awkwardness of this process - is that you have to remember to come back later and clean up all of those little and not-so-little "temporary" files. So, wouldn't you just like to be able to tap in an edit session at any arbitrary point in the pipeline, do your magic on the data, then have it automagically continue on its merry way? The vip program provides this functionality, and operates syntactically just like any other filter. @ 1.1.1.1 log @Initial import of vip, a script which lets you edit data (via $EDITOR or $VISUAL) at any point in a pipe. From a nudge from David Maxwell. Normally, in a pipeline, when you need to edit some phase of the data stream, you use a standard tool such as sed, grep, or awk to alter, filter, or otherwise manipulate the stream. One potential problem with this approach is that the manipulations have to be very well thought out in advance. Another is that the manipulations will probably need to be applied uniformly. And third, the data must be very well understood in advance. Not all situations and data easily conform to these constraints. Alternatively, when the changes needed for the data are more than trivial, or perhaps you just don't feel like expending the mental energy needed to work out all the expressions in advance, a typical approach might be to run some process or pipeline, dump output to a file, edit the file with vi, pico, or emacs, then push the data along to the next phase by using the file as input to some additional process or pipeline. The catch here - other than the sheer awkwardness of this process - is that you have to remember to come back later and clean up all of those little and not-so-little "temporary" files. So, wouldn't you just like to be able to tap in an edit session at any arbitrary point in the pipeline, do your magic on the data, then have it automagically continue on its merry way? The vip program provides this functionality, and operates syntactically just like any other filter. @ text @@