sed use case: Filter without editing

if we want to filter with sed pattern and just print the filtered lines without any further editing , we can do it like this

ls -a1 ~ | sed -ne "/^\./p"

This command will print all dir entries that starts with "."

ls -a1 ~ | sed -ne "/^\./p" | sed -ne "/bash/p"

I want to find meta files related to bash, so I got the result:

.bash_history
.bash_logout
.bashrc

we can view each file content by

ls -a1 ~ | sed -ne "/^\./p" | sed -ne "/bash/p" | xargs -n 1 less

 delete file and directories except "term.sh" and "test.cpp"

ls | sed -e "/^term.sh$/d" | sed -e "/^test.cpp$/d" | xargs -n 1 rm -rf

 show contents of all status file in current directory tree

find . -iname status | xargs -n 1 less

 

posted @ 2014-05-27 10:31  Daniel King  阅读(249)  评论(0编辑  收藏  举报