sienax.csv for subj in *; do scaling=$(grep VSCALING $subj/report.sienax | cut -d " " -f2) brain=$(grep BRAIN $subj/report.sienax | tr -s ' '| cut -d' ' -f2) grey=$(awk '/GREY/ {print $2}' $subj/report.sienax) echo "$subj,$scaling,$brain,$grey" >> sienax.csv done #inny sposób na pozostanie przy cut tam gdzie mamy wiele spacji #to zamienic wielokrotne spacje na pojedyncze za pomocą tr -s ' ' #grep BRAIN $subj/report.sienax | tr -s ' '| cut -d' ' -f2 #zadanie: zmień sienax.report powyżej na objętość [mm] z fslstats #fslstats $s/first_results/*firstseg.nii.gz -l 9.5 -u 10.5 -V | awk '{print $2}'"> sienax.csv for subj in *; do scaling=$(grep VSCALING $subj/report.sienax | cut -d " " -f2) brain=$(grep BRAIN $subj/report.sienax | tr -s ' '| cut -d' ' -f2) grey=$(awk '/GREY/ {print $2}' $subj/report.sienax) echo "$subj,$scaling,$brain,$grey" >> sienax.csv done #inny sposób na pozostanie przy cut tam gdzie mamy wiele spacji #to zamienic wielokrotne spacje na pojedyncze za pomocą tr -s ' ' #grep BRAIN $subj/report.sienax | tr -s ' '| cut -d' ' -f2 #zadanie: zmień sienax.report powyżej na objętość [mm] z fslstats #fslstats $s/first_results/*firstseg.nii.gz -l 9.5 -u 10.5 -V | awk '{print $2}'"> sienax.csv for subj in *; do scaling=$(grep VSCALING $subj/report.sienax | cut -d " " -f2) brain=$(grep BRAIN $subj/report.sienax | tr -s ' '| cut -d' ' -f2) grey=$(awk '/GREY/ {print $2}' $subj/report.sienax) echo "$subj,$scaling,$brain,$grey" >> sienax.csv done #inny sposób na pozostanie przy cut tam gdzie mamy wiele spacji #to zamienic wielokrotne spacje na pojedyncze za pomocą tr -s ' ' #grep BRAIN $subj/report.sienax | tr -s ' '| cut -d' ' -f2 #zadanie: zmień sienax.report powyżej na objętość [mm] z fslstats #fslstats $s/first_results/*firstseg.nii.gz -l 9.5 -u 10.5 -V | awk '{print $2}'">
#podstawowa pętla z jednym poleceniem
for s in sub-*; do fsl-anat "$s"/ses-01/anat/"$s"_ses-01_T1w.nii.gz; done
#pętla z kilkoma instrukcjami
echo "report,scaling,brain,grey" > sienax.csv
for subj in *; do
scaling=$(grep VSCALING $subj/report.sienax | cut -d " " -f2)
brain=$(grep BRAIN $subj/report.sienax | tr -s ' '| cut -d' ' -f2)
grey=$(awk '/GREY/ {print $2}' $subj/report.sienax)
echo "$subj,$scaling,$brain,$grey" >> sienax.csv
done
#inny sposób na pozostanie przy cut tam gdzie mamy wiele spacji
#to zamienic wielokrotne spacje na pojedyncze za pomocą tr -s ' '
#grep BRAIN $subj/report.sienax | tr -s ' '| cut -d' ' -f2
#zadanie: zmień sienax.report powyżej na objętość [mm] z fslstats
#fslstats $s/first_results/*firstseg.nii.gz -l 9.5 -u 10.5 -V | awk '{print $2}'
tmux (nowy)
tmux a (podłączenie do starego)
Ctrl + b -> d (odłączenie)
Ctrl + b -> ( ) (przełączanie)
python3 -m http.server
#Wypisanie całego pliku
cat plik.txt
#Wpisanie lini zawierających wzorzec
grep "wzorzec" plik.txt
#Wypisanie kolumny 2 i 3 z pliku rozdzielonego przecinkami (CSV)
cut -f 2,3 plik.csv
#Wyszukanie za pomocą grep a później wydruk drugiej kolumny rozdzielonej spacjami
grep "wzorzec" plik.txt | cut -d ' ' -f 2
#Wyszukiwanie wzorca, "squeeze" czyli zamiana wielokrotnych spacji na pojedyncze i podział za pomocą cut
grep BRAIN $subj/report.sienax | tr -s ' '| cut -d' ' -f2
# awk 1: Wyciąganie wzorca i kolejnego słowa/wartości po wzorcu
awk '/pattern/ {print $1, $2}' plik.txt
# awk 2: Podmiana słów "stary" na "nowy" (bez zmiany oryginalnego)
awk '{gsub(/stary/, "nowy"); print}' plik.txt
# awk 3: Wyświetlenie pliku tekstowego z numerami lini na początku
awk '{print NR ": " $0}' plik.txt
# awk 4: Dodanie wartości z kolumn 2 i 3 pliku rozdzielonego "," (sprawdz wynik!)
awk -F "," '{sum = $2 + $3; print $1, sum}' plik.txt
cat mjris.csv | parallel -j 4 --colsep ',' recon-all -s sub-{4} -i sub-{4}/ses-01/anat/sub-{4}_ses-01_T1w.nii.gz -all