当前位置: 技术问答>linux和unix
Unix下ls -1重定向到新文件后结果包含重定向的新文件,怎么能去掉这个特性
来源: 互联网 发布时间:2016-05-15
本文导语: 比如:ls -1 >tmp tmp里有tmp本身 | 分开两步来做: AA=`ls`; echo $AA > tmp | 想不出什么好办法。shell在执行ls之前就创建了tmp文件 可以考虑写个脚本,先把tmp建立到另一个目录(比...
比如:ls -1 >tmp
tmp里有tmp本身
tmp里有tmp本身
|
分开两步来做:
AA=`ls`; echo $AA > tmp
AA=`ls`; echo $AA > tmp
|
想不出什么好办法。shell在执行ls之前就创建了tmp文件
可以考虑写个脚本,先把tmp建立到另一个目录(比如..),然后mv回来
可以考虑写个脚本,先把tmp建立到另一个目录(比如..),然后mv回来
|
ls -l |grep -V tmp >tmp
|
刚试了这个,也不行: ls | cat > tmp
|
也可以重定向到另一个目录的文件嘛,这样不就没有了吗?
|
要么你可以使用sed命令过来掉输出文件
|
你的是什么shell?
bash的话
>重定向不会包括tmp原来的内容的。
>>重定向才会包括tmp原来的内容
bash的话
>重定向不会包括tmp原来的内容的。
>>重定向才会包括tmp原来的内容
|
楼主的意思是:
假定目录里只有一个文件a
执行了 ls -1 >tmp
之后,tmp文件的内容是 a tmp
楼主想要tmp文件的内容只有a
3楼的办法很不错
|
哦,看走题了,呵呵