とくにあぶなくないRiSKのブログ

危ないRiSKのブログだったかもしれない。本当はRiSKだけどググラビリティとか取得できるIDの都合でsscriskも使ったり。

「入門bash 第3版」を読む(5)

Windows な私が Cygwin + bash でタスクをこなす記録。

進捗

109/348

メモ

タスク4-2

task4-2
infile=$1
infile=${infile:?'missing.'}
outfile=${infile%.pcx}.jpg
echo $outfile
実行結果
~ $>./task4-2 abc.pcx
abc.jpg
~ $>./task4-2 abc.def.pcx
abc.def.jpg
~ $>./task4-2 abc
abc.jpg
~ $>./task4-2
./task4-2: line 2: infile: missing.
~ $>

タスク4-3

task4-3
pathname=$1
pathname=${pathname:?'missing.'}
filename=${pathname##*/}
echo $filename
実行結果
~ $>./task4-3 /home/cam/book/wonderland
wonderland
~ $>./task4-3 "$PWD"
USER_NAME
~ $>

タスク4-4

taskk4-4
echo -e ${PATH//:/'\n'}
実行結果
~ $>./task4-4
/usr/local/bin
/usr/bin
/bin
/usr/X11R6/bin
/cygdrive/c/WINDOWS
/cygdrive/c/WINDOWS/system32
/cygdrive/c/WINDOWS/System32/Wbem
/cygdrive/c/Program Files/doxygen/bin
/usr/bin
/usr/lib/lapack
~ $>

う゛っ。ディレクトリ構成がばれる。

タスク4-5

albums
Depeche Mode|Speak and Spell|Mute Records|1981|
Depeche Mode|Some Great Reward|Mute Records|1984|
Depeche Mode|101|Mute Records|1989|
Depeche Mode|Violator|Mute Records|1990|
Depeche Mode|Songs of Faith and Devotion|Mute Records|1993|
task4-5
cut -f${1} -d\| albums

getfield関数が無い(今のところ作る技術がない)ので簡略化。

実行結果
~ $>./task4-5 1
Depeche Mode
Depeche Mode
Depeche Mode
Depeche Mode
Depeche Mode
~ $>./task4-5 2
Speak and Spell
Some Great Reward
101
Violator
Songs of Faith and Devotion
~ $>

タスク4-6

task4-6
mail $(who | cut -d' ' -f1)
実行結果

mailコマンドが無いので実行不可。省略。

タスク4-7

task4-7
function lsd
{
	date=$1
	ls -l | grep -i "^.\{38\}$date" | cut -c52-
}

私の環境では,日付は39文字目から,ファイル名は52文字目から始まるので変更。

実行結果
~ $>./task4-7
~ $>ls -l
total 10
-rwxrwxrwx 1 USER_______NAME なし 235 Nov 24 12:37 albums
-rwxrwxrwx 1 USER_______NAME なし 143 Nov 21 23:37 alice
-rwxrwxrwx 1 USER_______NAME なし 283 Nov 23 14:21 highest
-rwxrwxrwx 1 USER_______NAME なし  85 Nov 23 12:23 myfile
-rwxrwxrwx 1 USER_______NAME なし  81 Nov 23 15:54 task4-2
-rwxrwxrwx 1 USER_______NAME なし  85 Nov 23 15:53 task4-3
-rwxrwxrwx 1 USER_______NAME なし  24 Nov 24 12:21 task4-4
-rwxrwxrwx 1 USER_______NAME なし  23 Nov 24 14:02 task4-5
-rwxrwxrwx 1 USER_______NAME なし  23 Nov 24 12:42 task4-6
-rwxrwxrwx 1 USER_______NAME なし  71 Nov 24 14:07 task4-7
~ $>lsd 'nov 24'
albums
task4-4
task4-5
task4-6
task4-7
~ $>

ユーザ名,危ないw