Difference between revisions of "CompSciWeek3"
From Predictive Chemistry
(→Reading Assignment) |
|||
Line 7: | Line 7: | ||
= Class 1: Intermediate shell utilities = |
= Class 1: Intermediate shell utilities = |
||
* commands |
* commands |
||
− | ** cat |
||
+ | ** man/info <-> help() |
||
− | ** grep |
||
+ | ** ls <-> dir() |
||
− | ** sort |
||
+ | ** cat <-> print |
||
− | ** head / tail |
||
+ | ** grep <-> string.find() |
||
− | ** tr, sed |
||
+ | ** sort <-> list.sort() |
||
+ | ** head / tail <-> list.__slice__ (i.e. l[:10]) |
||
+ | ** tr, sed <-> string.replace() |
||
** find |
** find |
||
** w, top, last |
** w, top, last |
||
* shell variables |
* shell variables |
||
* control flow |
* control flow |
||
− | ** pipes, &&, || |
||
+ | ** shell functions -- f() { commands; } |
||
− | ** for loops |
||
+ | ** pipes, redirection, &&, || -- a | b, a && b, a || b |
||
+ | ** for, while loops -- for i in 1 2 3; do ... done, for((i=0; i<$n; i++)); do ... done |
||
+ | |||
+ | References: |
||
+ | * [https://docs.python.org/3/ Python Syntax] |
||
+ | * [http://tldp.org/HOWTO/Bash-Prog-Intro-HOWTO.html Bash Syntax] |
||
+ | * [http://sed.sourceforge.net/sed1line.txt Sed One-Liners] |
||
= Class 2: Python vs. shell = |
= Class 2: Python vs. shell = |
Revision as of 11:29, 8 September 2014
Contents
Reading Assignment
- Beginning Python, Chapter 6
- Algorithms, Chapters 1-2
- focus on tree data structures (formal complexity next week)
- ignore python 'Class' for now
Class 1: Intermediate shell utilities
- commands
- man/info <-> help()
- ls <-> dir()
- cat <-> print
- grep <-> string.find()
- sort <-> list.sort()
- head / tail <-> list.__slice__ (i.e. l[:10])
- tr, sed <-> string.replace()
- find
- w, top, last
- shell variables
- control flow
- shell functions -- f() { commands; }
- pipes, redirection, &&, || -- a | b, a && b, a || b
- for, while loops -- for i in 1 2 3; do ... done, for((i=0; i<$n; i++)); do ... done
References:
Class 2: Python vs. shell
- Reading / Writing Files
- Advanced control structures (list comprehensions)
- Code profiling
- Hash tables
- Graphs
Homework 2 - due Monday, Sept. 15
- Coding problems:
- Write a loop to sum 100 random numbers (import random, random.random()) using each of the following control structures: for, while, list and `tuple` comprehension.
- Write a shell loop to save 100 numbers from $RANDOM to a file, writing one number per line.
- Write a shell loop to sum files with 1 number per line.
- Write python and shell programs to print the smallest 10 numbers from such a file.
- Write a text processing script using sed to get the numbers for the following quantities from File:Multiwfn.txt
- Basin electric monopole moment: (1 number for ea. line)
- Basin electric dipole moment: and Basin electron contribution to molecular dipole moment: (3 numbers from ea. line tagged X=, etc)