Goal: Use various commands to view, inspect and search a text file.
...
Table of Contents | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
|
...
Exercise: Setting Up
Info |
---|
Question:
|
...
|
Note |
---|
|
...
Setting Up: Answer(s)
Answer: There are a number of ways…
Code Block |
---|
Info |
Method 01: Move into your home folder and copy into this location. The |
Code Block |
---|
[]$ cd [~]$ cp -r /project/arccanetrain<project-name>/intro_to_linux/ . cp: cannot open 'intro_to_linux/workshop_me.txt' for reading: Permission denied [~]$ ls Desktop Documents Downloads intro_to_linux # Move into the |
Info |
---|
Method 02: Move into the
folder and copy from there , into your home. # The “~” is short for your home folder.
|
Code Block |
---|
[~]$ cd /project/arccanetrain<project-name>/ [arccanetrain<project-name>]$ cp -r intro_to_linux/ ~ cp: cannot open 'intro_to_linux/workshop_me.txt' for reading: Permission denied [arccanetrain<project-name>]$ ls ~ Desktop Documents Downloads intro_to_linux # Why do we see the cp related permission denied? |
Note |
---|
In both cases you do not have permissions to copy Question: What do you notice about the permissions of this file? |
Code Block |
---|
# -rw------- 1 arcc<arcc-t05username> arccanetrain<project-name> 23 Oct 5 07:20 workshop_me.txt # What happens to this file? It does not get copied |
Info |
---|
Only the owner of this file ( Any other user can not copy this file, and thus it will not be copied as part of everything else. |
...
View the content of files
Command | Description | ||
cat |
| ||
more |
| ||
head |
|
...
View the content of files
Command | Description | ||
tail |
|
...
Exercises: View Files: Give it a go.
Info |
---|
Question: Within the
|
...
Answers
Info |
---|
Within the 1. How can we view the entire file? |
Code Block |
---|
[]$ cd ~/intro_to_linux/ [intro_to_linux]$ cat software.csv [intro_to_linux]$ cat -n software.csv [intro_to_linux]$ more software.csv # Press spacebar to scroll through. # Press ‘q’ to quit at any time. [intro_to_linux]$ more software.csv |
Info |
---|
2. How can we view the start of the file? |
Code Block |
---|
[intro_to_linux]$ head software.csv
[intro_to_linux]$ head –n 5 software.csv
|
Info |
---|
3. How can we view the end of the file? |
Code Block |
---|
[intro_to_linux]$ tail software.csv [intro_to_linux]$ tail –n 5 software.csv |
...
Search for a string within a text file (grep)
Command | Description | ||
grep |
|
...
Examples: Search a file
Info |
---|
Remember, Linux in general, and grep are case-sensitive. |
Info |
---|
Search for the capitalized |
Code Block |
---|
[intro_to_linux]$ grep nvidia software.csv [intro_to_linux]$ # Remember: grep is case-sensitive [intro_to_linux]$ grep NVIDIA software.csv libraries and toolkits,cuDNN,cudnn,beartooth,The NVIDIA CUDA Deep... libraries and toolkits,TensorRT,,beartooth,"NVIDIA TensorRT, an... # Nothing is returned. [intro_to_linux]$ grep nvidia software.csv [intro_to_linux]$ # Neither of the above picked up “Nvidia”. |
Info |
---|
The above identified and returned two locations where But this would not pick up the text Nvidia. Modify the command-line to ignore-case using the |
Code Block |
---|
[intro_to_linux]$ grep -i NVidia software.csv
compiler,NVidia HPC SDK,nvhpc,"beartooth,teton"...
libraries and toolkits,cuDNN,cudnn,beartooth,The NVIDIA CUDA Deep...
libraries and toolkits,TensorRT,,beartooth,"NVIDIA TensorRT, an...
# Ignore the case of the word to search for.
|
Info |
---|
Modify the command-line to display the the line numbers within the file using the |
Code Block |
---|
[intro_to_linux]$ grep -n -i NVidia software.csv 145:compiler,NVidia HPC SDK,nvhpc,"beartooth,teton"... 152:libraries and toolkits,cuDNN,cudnn,beartooth,The NVIDIA CUDA Deep... 166:libraries and toolkits,TensorRT,,beartooth,"NVIDIA TensorRT, an... |
...
Examples: Search folders and files
Info |
---|
Use the wildcard |
Code Block |
---|
[intro_to_linux]$ cd clusters/
[clusters]$ grep -i nvidia *
beartooth.html: .../788758554/NVidia+HPC+SDK">NVidia HPC SDK</a></td>
teton.html: .../788758554/NVidia+HPC+SDK">NVidia HPC SDK</a></td>
[clusters]$ cd ..
|
Info |
---|
Remember: case-sensitivity: |
Code Block |
---|
[intro_to_linux]$ grep -i nvidia * grep: clusters: Is a directory software.csv:compiler,NVidia HPC SDK,nvhpc,"beartooth,teton"... software.csv:libraries and toolkits,cuDNN,cudnn,beartooth,The NVIDIA CUDA Deep... software.csv:libraries and toolkits,TensorRT,,beartooth,"NVIDIA TensorRT, an.... |
Info |
---|
Modify the command-line, using the |
Code Block |
---|
[intro_to_linux]$ grep -r -i nvidia * clusters/teton.html: .../788758554/NVidia+HPC+SDK">NVidia HPC SDK</a></td> clusters/beartooth.html: .../788758554/NVidia+HPC+SDK">NVidia HPC SDK</a></td> software.csv:compiler,NVidia HPC SDK,nvhpc,"beartooth,teton"... software.csv:libraries and toolkits,cuDNN,cudnn,beartooth,The NVIDIA CUDA Deep... software.csv:libraries and toolkits,TensorRT,,beartooth,"NVIDIA TensorRT, an... |
...
Exercises: Search Files
Info |
---|
We will be using the Lets take a quick look at it using |
Code Block |
---|
# The software.csv file takes the form: [intro_to_linux]$ head software.csv Type,Name,Module,Cluster,Description application,Alphafold,alphafold,"beartooth,teton",AlphaFold... application,Astral,astral,wildiris,ASTRAL is a tool... application,Augustus,augustus,beartooth,AUGUSTUS is a program... application,Avizo,avizo,loren-pre202308,Avizo is a general-purpose... application,ANGSD,angsd,"beartooth,teton",ANGSD: is a software... application,ANSYS,ansys,teton,"ANSYS is a general-purpose software... |
Info |
---|
Questions:
|
...
|
...
Answers
Info |
---|
Question 01: Which named applications are related to the words “bayes”? We have a csv file, with comma separated columns, the second column represents the name of the application. This assumes we want to find all instances of “bayes” regardless of case. |
Code Block |
---|
[intro_to_linux]$ grep -i bayes software.csv
application,Bayescan,bayescan,beartooth,"BayeScan aims...
application,Beast1,beast1,wildiris,BEAST is a cross-platform program for Bayesian...
application,Beast2,beast2,beartooth,"BEAST 2 is a cross-platform program for Bayesian...
application,Freebayes,freebayes,beartooth,"freebayes is a Bayesian genetic...
application,Jags,jags,"beartooth,teton",Just Another Gibbs Sampler. It is a program for analysis of Bayesian hierarchical...
application,RevBayes,revbayes,wildiris,Bayesian phylogenetic...
application,ROHan,rohan,teton,"ROHan is a Bayesian framework...
application,SourceTracker2,sourcetracker2,"beartooth,teton","SourceTracker, a Bayesian approach... |
Info | ||
---|---|---|
Which of the returned lines represent an application with
The other returned lines are “lines that contain the word |
Info |
---|
Question 02: Which files contain reference to IPA? In this case we want to explicitly search for |
Code Block |
---|
[intro_to_linux]$ grep -r IPA * clusters/beartooth.html: .../pages/1893597185/IPA">IPA</a></td> software.csv:application,IPA,ipa,beartooth,Improved Phased Assembler (IPA) is... |
...