File Conversion

  1. Math and Programming PDF Conversion -


== Line Chart ==

- file runtime 1,2 columns to line chart

- plot "runtime" using 1:2 with lines

- plot file.csv (assuming you have two columns in this file)

- plot file.csv title "my plot" linetype 7 linecolot 0 with linepoints

- plot file.csv title "my plot" linetype 7 linecolot 0

- plot file.csv title "my plot" linetype 7 linecolot 0, sin(x) # can plot multiple plots

- set xrange [-1:13]

== X, Y Labels ==

- set xlabel "time in sec"

- set ylabel "water level meters"

== Multiple Plots ==

- plot sin(x), x, x-(x**3)/6

- plot "prices" using 1:2, "prices" using 1:3



qa<commands>q # record marco for a

@a # replay a

Configuration file to use with vim ~/.vimrc configuration

" .vimrc

" No need to support old vi.

set nocompatible

syntax enable

filetype plugin on

" Finding files.

set path +=**

set wildmenu

File Browsing

:find someFi<TAB> # => and it would recursivley auto complete the file and it's path.

:find ./SomeFolder/src<TAB> # => goto specific files

:find *.yaml<TAB> # => then shift tab tab

:ls # => files which were already opened recent files.

:b SomeFile.ja # => just type some of the file it would jump to it. if not unique <TAB>


^n --> next autocomplete

^p --> prev autocomplete

^x^n --> auto complete from this file only.

^x^f --> Autocomplete file names.

^x^] -> Autocomplete tags only.

File Navigation

22gg goto line 22

w next word

b previous word

^v multi cursor

:PlugInstall actually install plugins in .vimrc

CTRL-] # => Jump to definition - like ctrl click IDE you must first run ctags -R . on dir

CTRL-t # => Jump back tag

g-CTRL-] # => List Jump to definitions.


git switch -C master origin/master # => new replacing git reset --hard origin/mainline

for d in $(ls); do cd $d && git diff origin/mainline > ~/tmp/2020-04-07-10-15-${PWD##*/}.diff && cd ..;done; # => Create diff for each directory with current directory name



-t # => it's a tsv file

csvformat --out-tabs in.csv > out.tsv # comma to tab

csvcut -t -n in.tsv # print header column names -t means tab

csvcut -t -c col1, col2 data.csv # select subset of columns

in2csv in.xlsx | csvformat --out-tabs > out.tsv # excel to tsv

# Concat csv

csvstack -t *.tsv > all.tsv

# csvjoin

csvjoin -t -c col1 file1.tsv file2.tsv > out.csv

# csvsql

csvsql --query "select col1, ('http://url/'||col2) as url, col3 from test1 where col3 is not null" test1.tsv

csvsql --query "select col1,case when col2 not null then col2 else col3 end from mydata" mydata.csv

# Loop

for d in $(ls); do cd $d && git checkout master && cd ..; done; # => for each directory checkout master

# Base64

base64 -D < ~/tmp/in.txt > ~/tmp/out.txt # => Decode base64


sed 's#any text to replace here#replace with#g' in.csv > out.csv


cat file.csv | pbcopy # clipboard

echo `pbpaste`

# iconv

iconv -f latin1 -t utf-8 in.csv > out.csv # latin1 to utf8

# sqlite

sqlite> .mode csv (or .mode tab or .separator \t)

sqlite> .header on

sqlite> .import weight.csv weight

sqlite> .import person.csv person

sqlite> select * from person, weight where person.ID = weight.ID;





export to csv

.headers on

.mode csv

.output out.csv

select * from eS1100_sensor_results;

back to console


save as sql db

sqlite> .save mydb.db

week of year

select strftime('%W',some_timestamp_col) from mytable limit 5;

- row_num in sqlite where has to be in another select

# resources



# tmux

enable mouse scrolling - ^b + : and enter following: setw -g mouse on

# useful command line tools

- fish

- snowflake

- vimium - control browser with vi commadns!

-- fish_config (run it)

- install fzf on fish for better search history

- broot

- tmux

# awk


# ffmpeg

ffmpeg -i -pix_fmt rgb24 -r 10 -s 1024x768 out.gif #=> to moving gif.