SHELL编程 输出重定向
问题是这样的其中一段代码是viaaa.txtgrep-v$bbbxxx.txt|cat>xxx.txtcataaa.txt>>xxx.txt输出结果xxx.txt里的内容...
问题是这样的 其中一段代码是
vi aaa.txt
grep -v $bbb xxx.txt | cat >xxx.txt
cat aaa.txt >>xxx.txt
输出结果xxx.txt里的内容全没 只剩下aaa.txt后追加的了
经侧是grep那句出的问题
但是在同样的另一段代码里
grep -v $... xxx.txt >xxx.txt 就能很好的去除$...的部分
另:grep -v $bbb xxx.txt >xxx.bak
mv xxx.bak xxx.txt
cat aaa.txt >>xxx.txt
把原先的代码变为这样也就是说另起一个bak文件 然后覆盖原文件 就没有问题
求解原理 完美回答给200分绝不食言。 展开
vi aaa.txt
grep -v $bbb xxx.txt | cat >xxx.txt
cat aaa.txt >>xxx.txt
输出结果xxx.txt里的内容全没 只剩下aaa.txt后追加的了
经侧是grep那句出的问题
但是在同样的另一段代码里
grep -v $... xxx.txt >xxx.txt 就能很好的去除$...的部分
另:grep -v $bbb xxx.txt >xxx.bak
mv xxx.bak xxx.txt
cat aaa.txt >>xxx.txt
把原先的代码变为这样也就是说另起一个bak文件 然后覆盖原文件 就没有问题
求解原理 完美回答给200分绝不食言。 展开
5个回答
2012-04-07
展开全部
grep -v $bbb xxx.txt | cat >xxx.txt
在管道前后对同一个文件操作很危险。这样同时有两个程序对同一个文件读写,会产生竞争。最后的结果不好确定。最好分开处理。
rep -v $... xxx.txt >xxx.txt 这样做也不好。通过重定向后也会发生对同一个文件同时读写的情况。 但至少是同一个程序来控制(如果不算shell)。grep可能已经考虑过这样的情况,或者巧合(处理时先读,再写), 所以结果正确。但同其他程序的配合,情况就更复杂了,很可能出现问题。
具体要看grep,shell和cat代码。
但总体上,不建议这样做。这样做是极危险的行为。最好用一个备份文件,避免同时对一个文件读写操作。
在管道前后对同一个文件操作很危险。这样同时有两个程序对同一个文件读写,会产生竞争。最后的结果不好确定。最好分开处理。
rep -v $... xxx.txt >xxx.txt 这样做也不好。通过重定向后也会发生对同一个文件同时读写的情况。 但至少是同一个程序来控制(如果不算shell)。grep可能已经考虑过这样的情况,或者巧合(处理时先读,再写), 所以结果正确。但同其他程序的配合,情况就更复杂了,很可能出现问题。
具体要看grep,shell和cat代码。
但总体上,不建议这样做。这样做是极危险的行为。最好用一个备份文件,避免同时对一个文件读写操作。
展开全部
发这俩源文件上来,没你那环境不能对症下药。
我觉得你怎么这么喜欢用cat,直接输出就好啦。用awk都显得专业一点。
看下grep -v $bbb xxx.txt >xxx.txt 能不能用,感觉是语法的问题。
我觉得你怎么这么喜欢用cat,直接输出就好啦。用awk都显得专业一点。
看下grep -v $bbb xxx.txt >xxx.txt 能不能用,感觉是语法的问题。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
grep -v $bbb xxx.txt | cat >xxx.txt
你试下单独跑 cat > xxx.txt
我觉的,这里cat >xxx.txt 可能没有作为重定向出现,而变成了单独生成xxx.txt的情况了
你试下单独跑 cat > xxx.txt
我觉的,这里cat >xxx.txt 可能没有作为重定向出现,而变成了单独生成xxx.txt的情况了
追问
但是在同样的另一段代码里
grep -v $... xxx.txt >xxx.txt 就能很好的去除$...的部分
这又如何解释?
我总觉得和前面调用vi有关系。
追答
g rep -v $... xxx.txt > xxx.txt 这句话的意思是将xxx.txt去掉$...后的内容重定向xxx.txt
vi aaa.txt 是在程序里的?
shell 程序里添加vi 命令是会进入编辑模式的。有可能和你的vi aaa.txt 有关
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
可能和bbb的内容有关
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询