Difference between revisions of "Introduction to Linux in HPC/Text display search"
Introduction to Linux in HPC/Text display search
Jump to navigation
Jump to search
(Created page with "__TOC__ === Video === <!--T:5--> <youtube width="600" height="400" right>IfD9IPixgpo</youtube> [https://git-ce.rwth-aachen.de/hpc.nrw/ap2/tutorials/linux/-/blob/master/Slid...") |
m (Fixed the answer 4 to question no. 2, so that at least one answer is correct.) |
||
(35 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
+ | [[Category:Tutorials|Text Display and Search (linux)]]<nowiki /> | ||
+ | {{DISPLAYTITLE:Text Display and Search}}<nowiki /> | ||
+ | {{Syllabus Introduction to Linux}}<nowiki /> | ||
__TOC__ | __TOC__ | ||
+ | |||
+ | This part of the tutorial introduces the text input and output of the Linux console as well as common text based operations. It explains how different types of in- and output can be handled as well as different ways of text based console commands, their usage and their differences. | ||
=== Video === <!--T:5--> | === Video === <!--T:5--> | ||
− | <youtube width="600" height=" | + | <youtube width="600" height="340" right>LO1dkFm0GUE</youtube> |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
+ | ([[Media:HPC.NRW_Introduction_to_Linux_in_HPC_05_Text_Display_and_Search.pdf | Slides as pdf]]) | ||
=== Quiz === <!--T:5--> | === Quiz === <!--T:5--> | ||
Line 48: | Line 21: | ||
{ | { | ||
|type="()"} | |type="()"} | ||
− | - command > filename | + | - <code>command > filename</code> |
+ | || | ||
+ | + <code>command >> filename</code> | ||
+ | || Explanation: The <code>></code> operator redirects the output of command into filename. If filename exists already, its contents will be overwritten. The <code>>></code> operator can redirect the output of command into filename as well, except that if filename exists, the new data are appended instead of overwritten. | ||
+ | </quiz> | ||
+ | {{hidden end}} | ||
+ | |||
+ | {{hidden begin | ||
+ | |title = 2. Which is the correct way to redirect stdout and stderr to the same file? | ||
+ | }} | ||
+ | <quiz display=simple> | ||
+ | { | ||
+ | |type="()"} | ||
+ | - <code>command > filename</code> | ||
|| | || | ||
− | + command >> | + | - <code>command 2> filename</code> |
− | || Explanation: The > operator redirects the output of command into filename | + | || |
+ | - <code>command | filename</code> | ||
+ | || | ||
+ | + <code>command > filename 2>&1</code> | ||
+ | || Explanation: The first <code>></code> operator redirects the standard output of command into filename. The second <code>></code> operator redirects the standard error (2) of command into the file descriptor <code>(&)</code> of standard output (1), which in this case is the same as filename. If filename exists already, its contents will be overwritten. | ||
</quiz> | </quiz> | ||
{{hidden end}} | {{hidden end}} | ||
{{hidden begin | {{hidden begin | ||
− | |title = | + | |title = 3. How do I find all files containing specific text on Linux? </br> |
− | HINT: use grep command | + | HINT: use <code>grep</code> command |
}} | }} | ||
<quiz display=simple> | <quiz display=simple> | ||
{ | { | ||
|type="()"} | |type="()"} | ||
− | + | + | + Click and submit to see the answer |
− | || | + | || <code>grep -rnw '/path/to/somewhere/' -e 'pattern'</code> |
− | + | || -r or -R is recursive, | |
− | + | || -n is line number, and | |
− | + | || -w stands for match the whole word. | |
− | + | | -l (lower-case L) can be added to just give the file name of matching files. | |
</quiz> | </quiz> | ||
{{hidden end}} | {{hidden end}} | ||
− | + | === Exercises in Terminal === <!--T:5--> | |
− | { | + | |
+ | 1. Create a file using cat (some filename) and write some text in it as below. than use grep to find and display the line number and the line with the word Alan in the file. | ||
+ | the best way to predict | ||
+ | the future is to invent it | ||
+ | – Alan Kay | ||
+ | {| role="presentation" class="wikitable mw-collapsible mw-collapsed" | ||
+ | | <strong>Answer:</strong> | ||
+ | |- | ||
+ | | | ||
+ | <syntaxhighlight lang="bash"> | ||
+ | $ cat > quote.txt <<"EOF" \ > the best way to predict \ > the future is to invent it | ||
+ | > - Alan Kay | ||
+ | > EOF | ||
+ | </syntaxhighlight> | ||
+ | EOF mean end of file. Press enter to get a new line while writing text. With <code>cat > filename</code> you write the file content in the file quote.txt. | ||
+ | |||
+ | Further use grep as below | ||
+ | <syntaxhighlight lang="bash"> | ||
+ | $ grep -in alan quote.txt | ||
+ | 3: - Alan Kay | ||
+ | </syntaxhighlight> | ||
+ | grep command option - | ||
+ | - i to ignore case distinctions, so that characters that differ only in case match each other. | ||
+ | - n for line number | ||
+ | |} | ||
+ | |||
+ | {{Tutorial Navigation | ||
+ | | previous = [[Introduction_to_Linux_in_HPC/Files | Files ]] | ||
+ | | main = [[Introduction_to_Linux_in_HPC | Overview ]] | ||
+ | | next = [[Introduction_to_Linux_in_HPC/Users_and_permissions | Users and Permissions ]] | ||
+ | }} |
Latest revision as of 09:41, 11 December 2020
Tutorial | |
---|---|
Title: | Introduction to Linux in HPC |
Provider: | HPC.NRW
|
Contact: | tutorials@hpc.nrw |
Type: | Multi-part video |
Topic Area: | HPC Platforms |
License: | CC-BY-SA |
Syllabus
| |
1. Background and History | |
2. The Command Line | |
3. Linux Directory Structure | |
4. Files | |
5. Text display and search | |
6. Users and permissions | |
7. Processes | |
8. The vim text editor | |
9. Shell scripting | |
10. Environment variables | |
11. System configuration | |
12. SSH Connections | |
13. SSH: Graphics and File Transfer | |
14. Various tips |
This part of the tutorial introduces the text input and output of the Linux console as well as common text based operations. It explains how different types of in- and output can be handled as well as different ways of text based console commands, their usage and their differences.
Video
Quiz
1. Which command can be used to append text to filename?
2. Which is the correct way to redirect stdout and stderr to the same file?
3. How do I find all files containing specific text on Linux?
HINT: use
HINT: use
grep
command
Exercises in Terminal
1. Create a file using cat (some filename) and write some text in it as below. than use grep to find and display the line number and the line with the word Alan in the file. the best way to predict the future is to invent it – Alan Kay
Answer: |
$ cat > quote.txt <<"EOF" \ > the best way to predict \ > the future is to invent it
> - Alan Kay
> EOF
EOF mean end of file. Press enter to get a new line while writing text. With
Further use grep as below $ grep -in alan quote.txt
3: - Alan Kay
grep command option - - i to ignore case distinctions, so that characters that differ only in case match each other. - n for line number |