The Unix Shellcedadocs.ceda.ac.uk/1048/1/02_shell_pipefilter.pdf · 2017. 4. 21. · Pipes and...
Transcript of The Unix Shellcedadocs.ceda.ac.uk/1048/1/02_shell_pipefilter.pdf · 2017. 4. 21. · Pipes and...
![Page 1: The Unix Shellcedadocs.ceda.ac.uk/1048/1/02_shell_pipefilter.pdf · 2017. 4. 21. · Pipes and Filters Introduction $ ls molecules cubane.pdb ethane.pdb methane.pdb . octane.pdb pentane.pdb](https://reader035.fdocuments.net/reader035/viewer/2022081409/6081f60cfcb25438d643d50e/html5/thumbnails/1.jpg)
Pipes and Filters
Copyright © Software Carpentry 2010 This work is licensed under the Creative Commons Attribution License
See http://software-carpentry.org/license.html for more information.
The Unix Shell
![Page 2: The Unix Shellcedadocs.ceda.ac.uk/1048/1/02_shell_pipefilter.pdf · 2017. 4. 21. · Pipes and Filters Introduction $ ls molecules cubane.pdb ethane.pdb methane.pdb . octane.pdb pentane.pdb](https://reader035.fdocuments.net/reader035/viewer/2022081409/6081f60cfcb25438d643d50e/html5/thumbnails/2.jpg)
Pipes and Filters Introduction
shell
![Page 3: The Unix Shellcedadocs.ceda.ac.uk/1048/1/02_shell_pipefilter.pdf · 2017. 4. 21. · Pipes and Filters Introduction $ ls molecules cubane.pdb ethane.pdb methane.pdb . octane.pdb pentane.pdb](https://reader035.fdocuments.net/reader035/viewer/2022081409/6081f60cfcb25438d643d50e/html5/thumbnails/3.jpg)
Pipes and Filters Introduction
shell pwd mkdir cd nano ls rm . rmdir .. mv
cp
![Page 4: The Unix Shellcedadocs.ceda.ac.uk/1048/1/02_shell_pipefilter.pdf · 2017. 4. 21. · Pipes and Filters Introduction $ ls molecules cubane.pdb ethane.pdb methane.pdb . octane.pdb pentane.pdb](https://reader035.fdocuments.net/reader035/viewer/2022081409/6081f60cfcb25438d643d50e/html5/thumbnails/4.jpg)
Pipes and Filters Introduction
shell
More powerful
when combined
pwd mkdir cd nano ls rm . rmdir .. mv
cp
![Page 5: The Unix Shellcedadocs.ceda.ac.uk/1048/1/02_shell_pipefilter.pdf · 2017. 4. 21. · Pipes and Filters Introduction $ ls molecules cubane.pdb ethane.pdb methane.pdb . octane.pdb pentane.pdb](https://reader035.fdocuments.net/reader035/viewer/2022081409/6081f60cfcb25438d643d50e/html5/thumbnails/5.jpg)
Pipes and Filters Introduction
$ ls molecules
cubane.pdb ethane.pdb methane.pdb
octane.pdb pentane.pdb propane.pdb
$
![Page 6: The Unix Shellcedadocs.ceda.ac.uk/1048/1/02_shell_pipefilter.pdf · 2017. 4. 21. · Pipes and Filters Introduction $ ls molecules cubane.pdb ethane.pdb methane.pdb . octane.pdb pentane.pdb](https://reader035.fdocuments.net/reader035/viewer/2022081409/6081f60cfcb25438d643d50e/html5/thumbnails/6.jpg)
Pipes and Filters Introduction
$ ls molecules
cubane.pdb ethane.pdb methane.pdb
octane.pdb pentane.pdb propane.pdb
$ cd molecules
$
![Page 7: The Unix Shellcedadocs.ceda.ac.uk/1048/1/02_shell_pipefilter.pdf · 2017. 4. 21. · Pipes and Filters Introduction $ ls molecules cubane.pdb ethane.pdb methane.pdb . octane.pdb pentane.pdb](https://reader035.fdocuments.net/reader035/viewer/2022081409/6081f60cfcb25438d643d50e/html5/thumbnails/7.jpg)
Pipes and Filters Introduction
$ ls molecules
cubane.pdb ethane.pdb methane.pdb
octane.pdb pentane.pdb propane.pdb
$ cd molecules
$ wc *.pdb
![Page 8: The Unix Shellcedadocs.ceda.ac.uk/1048/1/02_shell_pipefilter.pdf · 2017. 4. 21. · Pipes and Filters Introduction $ ls molecules cubane.pdb ethane.pdb methane.pdb . octane.pdb pentane.pdb](https://reader035.fdocuments.net/reader035/viewer/2022081409/6081f60cfcb25438d643d50e/html5/thumbnails/8.jpg)
Pipes and Filters Introduction
$ ls molecules
cubane.pdb ethane.pdb methane.pdb
octane.pdb pentane.pdb propane.pdb
$ cd molecules
$ wc *.pdb
* is a wild card
![Page 9: The Unix Shellcedadocs.ceda.ac.uk/1048/1/02_shell_pipefilter.pdf · 2017. 4. 21. · Pipes and Filters Introduction $ ls molecules cubane.pdb ethane.pdb methane.pdb . octane.pdb pentane.pdb](https://reader035.fdocuments.net/reader035/viewer/2022081409/6081f60cfcb25438d643d50e/html5/thumbnails/9.jpg)
Pipes and Filters Introduction
$ ls molecules
cubane.pdb ethane.pdb methane.pdb
octane.pdb pentane.pdb propane.pdb
$ cd molecules
$ wc *.pdb
* is a wild card matches zero or more characters
![Page 10: The Unix Shellcedadocs.ceda.ac.uk/1048/1/02_shell_pipefilter.pdf · 2017. 4. 21. · Pipes and Filters Introduction $ ls molecules cubane.pdb ethane.pdb methane.pdb . octane.pdb pentane.pdb](https://reader035.fdocuments.net/reader035/viewer/2022081409/6081f60cfcb25438d643d50e/html5/thumbnails/10.jpg)
Pipes and Filters Introduction
$ ls molecules
cubane.pdb ethane.pdb methane.pdb
octane.pdb pentane.pdb propane.pdb
$ cd molecules
$ wc *.pdb
* is a wild card matches zero or more characters so *.pdb matches all filenames ending in .pdb
![Page 11: The Unix Shellcedadocs.ceda.ac.uk/1048/1/02_shell_pipefilter.pdf · 2017. 4. 21. · Pipes and Filters Introduction $ ls molecules cubane.pdb ethane.pdb methane.pdb . octane.pdb pentane.pdb](https://reader035.fdocuments.net/reader035/viewer/2022081409/6081f60cfcb25438d643d50e/html5/thumbnails/11.jpg)
Pipes and Filters Introduction
$ ls molecules
cubane.pdb ethane.pdb methane.pdb
octane.pdb pentane.pdb propane.pdb
$ cd molecules
$ wc *.pdb
wc cubane.pdb ethane.pdb methane.pdb octane.pdb pentane.pdb pr
![Page 12: The Unix Shellcedadocs.ceda.ac.uk/1048/1/02_shell_pipefilter.pdf · 2017. 4. 21. · Pipes and Filters Introduction $ ls molecules cubane.pdb ethane.pdb methane.pdb . octane.pdb pentane.pdb](https://reader035.fdocuments.net/reader035/viewer/2022081409/6081f60cfcb25438d643d50e/html5/thumbnails/12.jpg)
Pipes and Filters Introduction
$ ls molecules
cubane.pdb ethane.pdb methane.pdb
octane.pdb pentane.pdb propane.pdb
$ cd molecules
$ wc *.pdb
word count
![Page 13: The Unix Shellcedadocs.ceda.ac.uk/1048/1/02_shell_pipefilter.pdf · 2017. 4. 21. · Pipes and Filters Introduction $ ls molecules cubane.pdb ethane.pdb methane.pdb . octane.pdb pentane.pdb](https://reader035.fdocuments.net/reader035/viewer/2022081409/6081f60cfcb25438d643d50e/html5/thumbnails/13.jpg)
Pipes and Filters Introduction
$ ls molecules
cubane.pdb ethane.pdb methane.pdb
octane.pdb pentane.pdb propane.pdb
$ cd molecules
$ wc *.pdb
word count counts lines, words, and characters in files
![Page 14: The Unix Shellcedadocs.ceda.ac.uk/1048/1/02_shell_pipefilter.pdf · 2017. 4. 21. · Pipes and Filters Introduction $ ls molecules cubane.pdb ethane.pdb methane.pdb . octane.pdb pentane.pdb](https://reader035.fdocuments.net/reader035/viewer/2022081409/6081f60cfcb25438d643d50e/html5/thumbnails/14.jpg)
Pipes and Filters Introduction
$ ls molecules
cubane.pdb ethane.pdb methane.pdb
octane.pdb pentane.pdb propane.pdb
$ cd molecules
$ wc *.pdb
20 156 1158 cubane.pdb
12 84 622 ethane.pdb
9 57 422 methane.pdb
30 246 1828 octane.pdb
21 165 1226 pentane.pdb
15 111 825 propane.pdb
107 819 6081 total
$
![Page 15: The Unix Shellcedadocs.ceda.ac.uk/1048/1/02_shell_pipefilter.pdf · 2017. 4. 21. · Pipes and Filters Introduction $ ls molecules cubane.pdb ethane.pdb methane.pdb . octane.pdb pentane.pdb](https://reader035.fdocuments.net/reader035/viewer/2022081409/6081f60cfcb25438d643d50e/html5/thumbnails/15.jpg)
Pipes and Filters Introduction
$ wc -l *.pdb
20 cubane.pdb
12 ethane.pdb
9 methane.pdb
30 octane.pdb
21 pentane.pdb
15 propane.pdb
107 total
$
report only lines
![Page 16: The Unix Shellcedadocs.ceda.ac.uk/1048/1/02_shell_pipefilter.pdf · 2017. 4. 21. · Pipes and Filters Introduction $ ls molecules cubane.pdb ethane.pdb methane.pdb . octane.pdb pentane.pdb](https://reader035.fdocuments.net/reader035/viewer/2022081409/6081f60cfcb25438d643d50e/html5/thumbnails/16.jpg)
Pipes and Filters Introduction
$ wc -l *.pdb
20 cubane.pdb
12 ethane.pdb
9 methane.pdb
30 octane.pdb
21 pentane.pdb
15 propane.pdb
107 total
$
report only lines use -w for words or -c for characters
![Page 17: The Unix Shellcedadocs.ceda.ac.uk/1048/1/02_shell_pipefilter.pdf · 2017. 4. 21. · Pipes and Filters Introduction $ ls molecules cubane.pdb ethane.pdb methane.pdb . octane.pdb pentane.pdb](https://reader035.fdocuments.net/reader035/viewer/2022081409/6081f60cfcb25438d643d50e/html5/thumbnails/17.jpg)
Pipes and Filters Introduction
Which file is shortest? 20 cubane.pdb
12 ethane.pdb
9 methane.pdb
30 octane.pdb
21 pentane.pdb
15 propane.pdb
107 total
![Page 18: The Unix Shellcedadocs.ceda.ac.uk/1048/1/02_shell_pipefilter.pdf · 2017. 4. 21. · Pipes and Filters Introduction $ ls molecules cubane.pdb ethane.pdb methane.pdb . octane.pdb pentane.pdb](https://reader035.fdocuments.net/reader035/viewer/2022081409/6081f60cfcb25438d643d50e/html5/thumbnails/18.jpg)
Pipes and Filters Introduction
Which file is shortest?
Easy to see when there are six…
20 cubane.pdb
12 ethane.pdb
9 methane.pdb
30 octane.pdb
21 pentane.pdb
15 propane.pdb
107 total
![Page 19: The Unix Shellcedadocs.ceda.ac.uk/1048/1/02_shell_pipefilter.pdf · 2017. 4. 21. · Pipes and Filters Introduction $ ls molecules cubane.pdb ethane.pdb methane.pdb . octane.pdb pentane.pdb](https://reader035.fdocuments.net/reader035/viewer/2022081409/6081f60cfcb25438d643d50e/html5/thumbnails/19.jpg)
Pipes and Filters Introduction
Which file is shortest?
Easy to see when there are six…
…but what if there were 6000?
20 cubane.pdb
12 ethane.pdb
9 methane.pdb
30 octane.pdb
21 pentane.pdb
15 propane.pdb
107 total
![Page 20: The Unix Shellcedadocs.ceda.ac.uk/1048/1/02_shell_pipefilter.pdf · 2017. 4. 21. · Pipes and Filters Introduction $ ls molecules cubane.pdb ethane.pdb methane.pdb . octane.pdb pentane.pdb](https://reader035.fdocuments.net/reader035/viewer/2022081409/6081f60cfcb25438d643d50e/html5/thumbnails/20.jpg)
Pipes and Filters Introduction
$ wc -l *.pdb > lengths
$
![Page 21: The Unix Shellcedadocs.ceda.ac.uk/1048/1/02_shell_pipefilter.pdf · 2017. 4. 21. · Pipes and Filters Introduction $ ls molecules cubane.pdb ethane.pdb methane.pdb . octane.pdb pentane.pdb](https://reader035.fdocuments.net/reader035/viewer/2022081409/6081f60cfcb25438d643d50e/html5/thumbnails/21.jpg)
Pipes and Filters Introduction
$ wc -l *.pdb > lengths
$
redirect output to a file
![Page 22: The Unix Shellcedadocs.ceda.ac.uk/1048/1/02_shell_pipefilter.pdf · 2017. 4. 21. · Pipes and Filters Introduction $ ls molecules cubane.pdb ethane.pdb methane.pdb . octane.pdb pentane.pdb](https://reader035.fdocuments.net/reader035/viewer/2022081409/6081f60cfcb25438d643d50e/html5/thumbnails/22.jpg)
Pipes and Filters Introduction
$ wc -l *.pdb > lengths
$
redirect output to a file create file if it doesn't exist
![Page 23: The Unix Shellcedadocs.ceda.ac.uk/1048/1/02_shell_pipefilter.pdf · 2017. 4. 21. · Pipes and Filters Introduction $ ls molecules cubane.pdb ethane.pdb methane.pdb . octane.pdb pentane.pdb](https://reader035.fdocuments.net/reader035/viewer/2022081409/6081f60cfcb25438d643d50e/html5/thumbnails/23.jpg)
Pipes and Filters Introduction
$ wc -l *.pdb > lengths
$
redirect output to a file create file if it doesn't exist overwrite it if it does
![Page 24: The Unix Shellcedadocs.ceda.ac.uk/1048/1/02_shell_pipefilter.pdf · 2017. 4. 21. · Pipes and Filters Introduction $ ls molecules cubane.pdb ethane.pdb methane.pdb . octane.pdb pentane.pdb](https://reader035.fdocuments.net/reader035/viewer/2022081409/6081f60cfcb25438d643d50e/html5/thumbnails/24.jpg)
Pipes and Filters Introduction
$ wc -l *.pdb > lengths
$
no screen output
![Page 25: The Unix Shellcedadocs.ceda.ac.uk/1048/1/02_shell_pipefilter.pdf · 2017. 4. 21. · Pipes and Filters Introduction $ ls molecules cubane.pdb ethane.pdb methane.pdb . octane.pdb pentane.pdb](https://reader035.fdocuments.net/reader035/viewer/2022081409/6081f60cfcb25438d643d50e/html5/thumbnails/25.jpg)
Pipes and Filters Introduction
$ wc -l *.pdb > lengths
$ ls lengths
lengths
$
![Page 26: The Unix Shellcedadocs.ceda.ac.uk/1048/1/02_shell_pipefilter.pdf · 2017. 4. 21. · Pipes and Filters Introduction $ ls molecules cubane.pdb ethane.pdb methane.pdb . octane.pdb pentane.pdb](https://reader035.fdocuments.net/reader035/viewer/2022081409/6081f60cfcb25438d643d50e/html5/thumbnails/26.jpg)
Pipes and Filters Introduction
$ wc -l *.pdb > lengths
$ ls lengths
lengths
$ cat lengths
20 cubane.pdb
12 ethane.pdb
9 methane.pdb
30 octane.pdb
21 pentane.pdb
15 propane.pdb
107 total
$
![Page 27: The Unix Shellcedadocs.ceda.ac.uk/1048/1/02_shell_pipefilter.pdf · 2017. 4. 21. · Pipes and Filters Introduction $ ls molecules cubane.pdb ethane.pdb methane.pdb . octane.pdb pentane.pdb](https://reader035.fdocuments.net/reader035/viewer/2022081409/6081f60cfcb25438d643d50e/html5/thumbnails/27.jpg)
Pipes and Filters Introduction
$ wc -l *.pdb > lengths
$ ls lengths
lengths
$ cat lengths
20 cubane.pdb
12 ethane.pdb
9 methane.pdb
30 octane.pdb
21 pentane.pdb
15 propane.pdb
107 total
$
concatenate files
![Page 28: The Unix Shellcedadocs.ceda.ac.uk/1048/1/02_shell_pipefilter.pdf · 2017. 4. 21. · Pipes and Filters Introduction $ ls molecules cubane.pdb ethane.pdb methane.pdb . octane.pdb pentane.pdb](https://reader035.fdocuments.net/reader035/viewer/2022081409/6081f60cfcb25438d643d50e/html5/thumbnails/28.jpg)
Pipes and Filters Introduction
$ wc -l *.pdb > lengths
$ ls lengths
lengths
$ cat lengths
20 cubane.pdb
12 ethane.pdb
9 methane.pdb
30 octane.pdb
21 pentane.pdb
15 propane.pdb
107 total
$
concatenate files in this case, only one so file contents printed to screen
![Page 29: The Unix Shellcedadocs.ceda.ac.uk/1048/1/02_shell_pipefilter.pdf · 2017. 4. 21. · Pipes and Filters Introduction $ ls molecules cubane.pdb ethane.pdb methane.pdb . octane.pdb pentane.pdb](https://reader035.fdocuments.net/reader035/viewer/2022081409/6081f60cfcb25438d643d50e/html5/thumbnails/29.jpg)
Pipes and Filters Introduction
$ sort lengths
9 methane.pdb
12 ethane.pdb
15 propane.pdb
20 cubane.pdb
21 pentane.pdb
30 octane.pdb
107 total
$
![Page 30: The Unix Shellcedadocs.ceda.ac.uk/1048/1/02_shell_pipefilter.pdf · 2017. 4. 21. · Pipes and Filters Introduction $ ls molecules cubane.pdb ethane.pdb methane.pdb . octane.pdb pentane.pdb](https://reader035.fdocuments.net/reader035/viewer/2022081409/6081f60cfcb25438d643d50e/html5/thumbnails/30.jpg)
Pipes and Filters Introduction
$ sort lengths > sorted-lengths
$
![Page 31: The Unix Shellcedadocs.ceda.ac.uk/1048/1/02_shell_pipefilter.pdf · 2017. 4. 21. · Pipes and Filters Introduction $ ls molecules cubane.pdb ethane.pdb methane.pdb . octane.pdb pentane.pdb](https://reader035.fdocuments.net/reader035/viewer/2022081409/6081f60cfcb25438d643d50e/html5/thumbnails/31.jpg)
Pipes and Filters Introduction
$ sort lengths > sorted-lengths
$ head -1 sorted-lengths
9 methane.pdb
$
![Page 32: The Unix Shellcedadocs.ceda.ac.uk/1048/1/02_shell_pipefilter.pdf · 2017. 4. 21. · Pipes and Filters Introduction $ ls molecules cubane.pdb ethane.pdb methane.pdb . octane.pdb pentane.pdb](https://reader035.fdocuments.net/reader035/viewer/2022081409/6081f60cfcb25438d643d50e/html5/thumbnails/32.jpg)
Pipes and Filters Introduction
$ sort lengths > sorted-lengths
$ head -1 sorted-lengths
9 methane.pdb
$
get the first line of the file
![Page 33: The Unix Shellcedadocs.ceda.ac.uk/1048/1/02_shell_pipefilter.pdf · 2017. 4. 21. · Pipes and Filters Introduction $ ls molecules cubane.pdb ethane.pdb methane.pdb . octane.pdb pentane.pdb](https://reader035.fdocuments.net/reader035/viewer/2022081409/6081f60cfcb25438d643d50e/html5/thumbnails/33.jpg)
Pipes and Filters Introduction
$ sort lengths > sorted-lengths
$ head -1 sorted-lengths
9 methane.pdb
$
get the first line of the file this must be the PDB file with the fewest lines, since sorted-lengths holds files and line counts in order from least to greatest
![Page 34: The Unix Shellcedadocs.ceda.ac.uk/1048/1/02_shell_pipefilter.pdf · 2017. 4. 21. · Pipes and Filters Introduction $ ls molecules cubane.pdb ethane.pdb methane.pdb . octane.pdb pentane.pdb](https://reader035.fdocuments.net/reader035/viewer/2022081409/6081f60cfcb25438d643d50e/html5/thumbnails/34.jpg)
Pipes and Filters Introduction
$ sort lengths > sorted-lengths
$ head -1 sorted-lengths
9 methane.pdb
$
get the first line of the file this must be the PDB file with the fewest lines, since sorted-lengths holds files and line counts in order from least to greatest
not particularly obvious
![Page 35: The Unix Shellcedadocs.ceda.ac.uk/1048/1/02_shell_pipefilter.pdf · 2017. 4. 21. · Pipes and Filters Introduction $ ls molecules cubane.pdb ethane.pdb methane.pdb . octane.pdb pentane.pdb](https://reader035.fdocuments.net/reader035/viewer/2022081409/6081f60cfcb25438d643d50e/html5/thumbnails/35.jpg)
Pipes and Filters Introduction
$ sort lengths | head -1
9 methane.pdb
$
![Page 36: The Unix Shellcedadocs.ceda.ac.uk/1048/1/02_shell_pipefilter.pdf · 2017. 4. 21. · Pipes and Filters Introduction $ ls molecules cubane.pdb ethane.pdb methane.pdb . octane.pdb pentane.pdb](https://reader035.fdocuments.net/reader035/viewer/2022081409/6081f60cfcb25438d643d50e/html5/thumbnails/36.jpg)
Pipes and Filters Introduction
$ sort lengths | head -1
9 methane.pdb
$
a pipe
![Page 37: The Unix Shellcedadocs.ceda.ac.uk/1048/1/02_shell_pipefilter.pdf · 2017. 4. 21. · Pipes and Filters Introduction $ ls molecules cubane.pdb ethane.pdb methane.pdb . octane.pdb pentane.pdb](https://reader035.fdocuments.net/reader035/viewer/2022081409/6081f60cfcb25438d643d50e/html5/thumbnails/37.jpg)
Pipes and Filters Introduction
$ sort lengths | head -1
9 methane.pdb
$
a pipe use output of left side
![Page 38: The Unix Shellcedadocs.ceda.ac.uk/1048/1/02_shell_pipefilter.pdf · 2017. 4. 21. · Pipes and Filters Introduction $ ls molecules cubane.pdb ethane.pdb methane.pdb . octane.pdb pentane.pdb](https://reader035.fdocuments.net/reader035/viewer/2022081409/6081f60cfcb25438d643d50e/html5/thumbnails/38.jpg)
Pipes and Filters Introduction
$ sort lengths | head -1
9 methane.pdb
$
a pipe use output of left side as input to right side
![Page 39: The Unix Shellcedadocs.ceda.ac.uk/1048/1/02_shell_pipefilter.pdf · 2017. 4. 21. · Pipes and Filters Introduction $ ls molecules cubane.pdb ethane.pdb methane.pdb . octane.pdb pentane.pdb](https://reader035.fdocuments.net/reader035/viewer/2022081409/6081f60cfcb25438d643d50e/html5/thumbnails/39.jpg)
Pipes and Filters Introduction
$ sort lengths | head -1
9 methane.pdb
$
a pipe use output of left side as input to right side without creating temporary file
![Page 40: The Unix Shellcedadocs.ceda.ac.uk/1048/1/02_shell_pipefilter.pdf · 2017. 4. 21. · Pipes and Filters Introduction $ ls molecules cubane.pdb ethane.pdb methane.pdb . octane.pdb pentane.pdb](https://reader035.fdocuments.net/reader035/viewer/2022081409/6081f60cfcb25438d643d50e/html5/thumbnails/40.jpg)
Pipes and Filters Introduction
$ wc -l *.pdb | sort | head -1
9 methane.pdb
$
don't need to create lengths file
![Page 41: The Unix Shellcedadocs.ceda.ac.uk/1048/1/02_shell_pipefilter.pdf · 2017. 4. 21. · Pipes and Filters Introduction $ ls molecules cubane.pdb ethane.pdb methane.pdb . octane.pdb pentane.pdb](https://reader035.fdocuments.net/reader035/viewer/2022081409/6081f60cfcb25438d643d50e/html5/thumbnails/41.jpg)
Pipes and Filters Introduction
$ wc -l *.pdb | sort | head -1
9 methane.pdb
$
This simple idea is why Unix has been so successful
![Page 42: The Unix Shellcedadocs.ceda.ac.uk/1048/1/02_shell_pipefilter.pdf · 2017. 4. 21. · Pipes and Filters Introduction $ ls molecules cubane.pdb ethane.pdb methane.pdb . octane.pdb pentane.pdb](https://reader035.fdocuments.net/reader035/viewer/2022081409/6081f60cfcb25438d643d50e/html5/thumbnails/42.jpg)
Pipes and Filters Introduction
$ wc -l *.pdb | sort | head -1
9 methane.pdb
$
This simple idea is why Unix has been so successful Create simple tools that:
![Page 43: The Unix Shellcedadocs.ceda.ac.uk/1048/1/02_shell_pipefilter.pdf · 2017. 4. 21. · Pipes and Filters Introduction $ ls molecules cubane.pdb ethane.pdb methane.pdb . octane.pdb pentane.pdb](https://reader035.fdocuments.net/reader035/viewer/2022081409/6081f60cfcb25438d643d50e/html5/thumbnails/43.jpg)
Pipes and Filters Introduction
$ wc -l *.pdb | sort | head -1
9 methane.pdb
$
This simple idea is why Unix has been so successful Create simple tools that: – do one job well
![Page 44: The Unix Shellcedadocs.ceda.ac.uk/1048/1/02_shell_pipefilter.pdf · 2017. 4. 21. · Pipes and Filters Introduction $ ls molecules cubane.pdb ethane.pdb methane.pdb . octane.pdb pentane.pdb](https://reader035.fdocuments.net/reader035/viewer/2022081409/6081f60cfcb25438d643d50e/html5/thumbnails/44.jpg)
Pipes and Filters Introduction
$ wc -l *.pdb | sort | head -1
9 methane.pdb
$
This simple idea is why Unix has been so successful Create simple tools that: – do one job well – work well with each other
![Page 45: The Unix Shellcedadocs.ceda.ac.uk/1048/1/02_shell_pipefilter.pdf · 2017. 4. 21. · Pipes and Filters Introduction $ ls molecules cubane.pdb ethane.pdb methane.pdb . octane.pdb pentane.pdb](https://reader035.fdocuments.net/reader035/viewer/2022081409/6081f60cfcb25438d643d50e/html5/thumbnails/45.jpg)
Pipes and Filters Introduction
$ wc -l *.pdb | sort | head -1
9 methane.pdb
$
This simple idea is why Unix has been so successful Create simple tools that: – do one job well – work well with each other 10 tools can be combined in 100 ways
![Page 46: The Unix Shellcedadocs.ceda.ac.uk/1048/1/02_shell_pipefilter.pdf · 2017. 4. 21. · Pipes and Filters Introduction $ ls molecules cubane.pdb ethane.pdb methane.pdb . octane.pdb pentane.pdb](https://reader035.fdocuments.net/reader035/viewer/2022081409/6081f60cfcb25438d643d50e/html5/thumbnails/46.jpg)
Pipes and Filters Introduction
running program
![Page 47: The Unix Shellcedadocs.ceda.ac.uk/1048/1/02_shell_pipefilter.pdf · 2017. 4. 21. · Pipes and Filters Introduction $ ls molecules cubane.pdb ethane.pdb methane.pdb . octane.pdb pentane.pdb](https://reader035.fdocuments.net/reader035/viewer/2022081409/6081f60cfcb25438d643d50e/html5/thumbnails/47.jpg)
Pipes and Filters Introduction
running program process
![Page 48: The Unix Shellcedadocs.ceda.ac.uk/1048/1/02_shell_pipefilter.pdf · 2017. 4. 21. · Pipes and Filters Introduction $ ls molecules cubane.pdb ethane.pdb methane.pdb . octane.pdb pentane.pdb](https://reader035.fdocuments.net/reader035/viewer/2022081409/6081f60cfcb25438d643d50e/html5/thumbnails/48.jpg)
Pipes and Filters Introduction
standard input
![Page 49: The Unix Shellcedadocs.ceda.ac.uk/1048/1/02_shell_pipefilter.pdf · 2017. 4. 21. · Pipes and Filters Introduction $ ls molecules cubane.pdb ethane.pdb methane.pdb . octane.pdb pentane.pdb](https://reader035.fdocuments.net/reader035/viewer/2022081409/6081f60cfcb25438d643d50e/html5/thumbnails/49.jpg)
Pipes and Filters Introduction
standard input stdin
![Page 50: The Unix Shellcedadocs.ceda.ac.uk/1048/1/02_shell_pipefilter.pdf · 2017. 4. 21. · Pipes and Filters Introduction $ ls molecules cubane.pdb ethane.pdb methane.pdb . octane.pdb pentane.pdb](https://reader035.fdocuments.net/reader035/viewer/2022081409/6081f60cfcb25438d643d50e/html5/thumbnails/50.jpg)
Pipes and Filters Introduction
standard output stdout
![Page 51: The Unix Shellcedadocs.ceda.ac.uk/1048/1/02_shell_pipefilter.pdf · 2017. 4. 21. · Pipes and Filters Introduction $ ls molecules cubane.pdb ethane.pdb methane.pdb . octane.pdb pentane.pdb](https://reader035.fdocuments.net/reader035/viewer/2022081409/6081f60cfcb25438d643d50e/html5/thumbnails/51.jpg)
Pipes and Filters Introduction
shell
![Page 52: The Unix Shellcedadocs.ceda.ac.uk/1048/1/02_shell_pipefilter.pdf · 2017. 4. 21. · Pipes and Filters Introduction $ ls molecules cubane.pdb ethane.pdb methane.pdb . octane.pdb pentane.pdb](https://reader035.fdocuments.net/reader035/viewer/2022081409/6081f60cfcb25438d643d50e/html5/thumbnails/52.jpg)
Pipes and Filters Introduction
$ wc -l *.pdb > lengths
![Page 53: The Unix Shellcedadocs.ceda.ac.uk/1048/1/02_shell_pipefilter.pdf · 2017. 4. 21. · Pipes and Filters Introduction $ ls molecules cubane.pdb ethane.pdb methane.pdb . octane.pdb pentane.pdb](https://reader035.fdocuments.net/reader035/viewer/2022081409/6081f60cfcb25438d643d50e/html5/thumbnails/53.jpg)
Pipes and Filters Introduction
wc
$ wc -l *.pdb > lengths
![Page 54: The Unix Shellcedadocs.ceda.ac.uk/1048/1/02_shell_pipefilter.pdf · 2017. 4. 21. · Pipes and Filters Introduction $ ls molecules cubane.pdb ethane.pdb methane.pdb . octane.pdb pentane.pdb](https://reader035.fdocuments.net/reader035/viewer/2022081409/6081f60cfcb25438d643d50e/html5/thumbnails/54.jpg)
Pipes and Filters Introduction
wc
$ wc -l *.pdb > lengths
![Page 55: The Unix Shellcedadocs.ceda.ac.uk/1048/1/02_shell_pipefilter.pdf · 2017. 4. 21. · Pipes and Filters Introduction $ ls molecules cubane.pdb ethane.pdb methane.pdb . octane.pdb pentane.pdb](https://reader035.fdocuments.net/reader035/viewer/2022081409/6081f60cfcb25438d643d50e/html5/thumbnails/55.jpg)
Pipes and Filters Introduction
wc
$ wc –l *.pdb > lengths
lengths
![Page 56: The Unix Shellcedadocs.ceda.ac.uk/1048/1/02_shell_pipefilter.pdf · 2017. 4. 21. · Pipes and Filters Introduction $ ls molecules cubane.pdb ethane.pdb methane.pdb . octane.pdb pentane.pdb](https://reader035.fdocuments.net/reader035/viewer/2022081409/6081f60cfcb25438d643d50e/html5/thumbnails/56.jpg)
Pipes and Filters Introduction
wc
$ wc –l *.pdb | sort
sort
![Page 57: The Unix Shellcedadocs.ceda.ac.uk/1048/1/02_shell_pipefilter.pdf · 2017. 4. 21. · Pipes and Filters Introduction $ ls molecules cubane.pdb ethane.pdb methane.pdb . octane.pdb pentane.pdb](https://reader035.fdocuments.net/reader035/viewer/2022081409/6081f60cfcb25438d643d50e/html5/thumbnails/57.jpg)
Pipes and Filters Introduction
wc
$ wc –l *.pdb | sort | head -1
sort head -1
![Page 58: The Unix Shellcedadocs.ceda.ac.uk/1048/1/02_shell_pipefilter.pdf · 2017. 4. 21. · Pipes and Filters Introduction $ ls molecules cubane.pdb ethane.pdb methane.pdb . octane.pdb pentane.pdb](https://reader035.fdocuments.net/reader035/viewer/2022081409/6081f60cfcb25438d643d50e/html5/thumbnails/58.jpg)
Pipes and Filters Introduction
This programming model called pipes and filters
![Page 59: The Unix Shellcedadocs.ceda.ac.uk/1048/1/02_shell_pipefilter.pdf · 2017. 4. 21. · Pipes and Filters Introduction $ ls molecules cubane.pdb ethane.pdb methane.pdb . octane.pdb pentane.pdb](https://reader035.fdocuments.net/reader035/viewer/2022081409/6081f60cfcb25438d643d50e/html5/thumbnails/59.jpg)
Pipes and Filters Introduction
This programming model called pipes and filters
A filter transforms a stream of input into a
stream of output
![Page 60: The Unix Shellcedadocs.ceda.ac.uk/1048/1/02_shell_pipefilter.pdf · 2017. 4. 21. · Pipes and Filters Introduction $ ls molecules cubane.pdb ethane.pdb methane.pdb . octane.pdb pentane.pdb](https://reader035.fdocuments.net/reader035/viewer/2022081409/6081f60cfcb25438d643d50e/html5/thumbnails/60.jpg)
Pipes and Filters Introduction
This programming model called pipes and filters
A filter transforms a stream of input into a
stream of output
A pipe connects two filters
![Page 61: The Unix Shellcedadocs.ceda.ac.uk/1048/1/02_shell_pipefilter.pdf · 2017. 4. 21. · Pipes and Filters Introduction $ ls molecules cubane.pdb ethane.pdb methane.pdb . octane.pdb pentane.pdb](https://reader035.fdocuments.net/reader035/viewer/2022081409/6081f60cfcb25438d643d50e/html5/thumbnails/61.jpg)
Pipes and Filters Introduction
This programming model called pipes and filters
A filter transforms a stream of input into a
stream of output
A pipe connects two filters
Any program that reads lines of text from standard
input, and writes lines of text to standard output,
can work with every other
![Page 62: The Unix Shellcedadocs.ceda.ac.uk/1048/1/02_shell_pipefilter.pdf · 2017. 4. 21. · Pipes and Filters Introduction $ ls molecules cubane.pdb ethane.pdb methane.pdb . octane.pdb pentane.pdb](https://reader035.fdocuments.net/reader035/viewer/2022081409/6081f60cfcb25438d643d50e/html5/thumbnails/62.jpg)
Pipes and Filters Introduction
This programming model called pipes and filters
A filter transforms a stream of input into a
stream of output
A pipe connects two filters
Any program that reads lines of text from standard
input, and writes lines of text to standard output,
can work with every other
You can (and should) write such programs
![Page 63: The Unix Shellcedadocs.ceda.ac.uk/1048/1/02_shell_pipefilter.pdf · 2017. 4. 21. · Pipes and Filters Introduction $ ls molecules cubane.pdb ethane.pdb methane.pdb . octane.pdb pentane.pdb](https://reader035.fdocuments.net/reader035/viewer/2022081409/6081f60cfcb25438d643d50e/html5/thumbnails/63.jpg)
Pipes and Filters Introduction
pwd mkdir cd nano ls rm . rmdir .. mv
cp
![Page 64: The Unix Shellcedadocs.ceda.ac.uk/1048/1/02_shell_pipefilter.pdf · 2017. 4. 21. · Pipes and Filters Introduction $ ls molecules cubane.pdb ethane.pdb methane.pdb . octane.pdb pentane.pdb](https://reader035.fdocuments.net/reader035/viewer/2022081409/6081f60cfcb25438d643d50e/html5/thumbnails/64.jpg)
Pipes and Filters Introduction
pwd mkdir wc cd nano sort ls rm head . rmdir .. mv
cp
![Page 65: The Unix Shellcedadocs.ceda.ac.uk/1048/1/02_shell_pipefilter.pdf · 2017. 4. 21. · Pipes and Filters Introduction $ ls molecules cubane.pdb ethane.pdb methane.pdb . octane.pdb pentane.pdb](https://reader035.fdocuments.net/reader035/viewer/2022081409/6081f60cfcb25438d643d50e/html5/thumbnails/65.jpg)
Pipes and Filters Introduction
pwd mkdir wc cd nano sort ls rm head . rmdir tail .. mv split
cp cut uniq
![Page 66: The Unix Shellcedadocs.ceda.ac.uk/1048/1/02_shell_pipefilter.pdf · 2017. 4. 21. · Pipes and Filters Introduction $ ls molecules cubane.pdb ethane.pdb methane.pdb . octane.pdb pentane.pdb](https://reader035.fdocuments.net/reader035/viewer/2022081409/6081f60cfcb25438d643d50e/html5/thumbnails/66.jpg)
Pipes and Filters Introduction
pwd mkdir wc * cd nano sort > ls rm head | . rmdir tail .. mv split
cp cut uniq
![Page 67: The Unix Shellcedadocs.ceda.ac.uk/1048/1/02_shell_pipefilter.pdf · 2017. 4. 21. · Pipes and Filters Introduction $ ls molecules cubane.pdb ethane.pdb methane.pdb . octane.pdb pentane.pdb](https://reader035.fdocuments.net/reader035/viewer/2022081409/6081f60cfcb25438d643d50e/html5/thumbnails/67.jpg)
Pipes and Filters Introduction
pwd mkdir wc * cd nano sort > ls rm head | . rmdir tail < .. mv split ?
cp cut uniq
![Page 68: The Unix Shellcedadocs.ceda.ac.uk/1048/1/02_shell_pipefilter.pdf · 2017. 4. 21. · Pipes and Filters Introduction $ ls molecules cubane.pdb ethane.pdb methane.pdb . octane.pdb pentane.pdb](https://reader035.fdocuments.net/reader035/viewer/2022081409/6081f60cfcb25438d643d50e/html5/thumbnails/68.jpg)
August 2010
created by
Greg Wilson
Copyright © Software Carpentry 2010 This work is licensed under the Creative Commons Attribution License
See http://software-carpentry.org/license.html for more information.