1、file.txtというテキストファイルを与えたら、このファイルの10行目だけを印刷してください。
例:
file.txtに次のようなものがあるとします。
Line 1
Line 2
Line 3
Line 4
Line 5
Line 6
Line 7
Line 8
Line 9
Line 10
スクリプトは10行目を表示します:
Line 10
sed -n '10p' file.txt
2、file.txtファイルを与えたら、その内容を転置します。
各列の数は同じで、各フィールドは' 'で区切られていると仮定することができます。
例:
file.txtファイルの内容が次のようになっているとします。
name age
alice 21
ryan 30
出力すべき:
name alice ryan
age 21 30
配列に格納して再出力:
cat file.txt| awk '{
for(i=1;i<=NF;i= i + 1)
if (data[i] != "") data[i] = data[i] " " $i
else data[i] = $i
} END {
for(str in data)
print data[str]
}'
3、テキストファイルwords.txtの各単語の出現頻度を統計するためにbashスクリプトを書きます。
簡単のために、次のように仮定してみましょう。
words.txtには小文字と' 'だけが含まれている。
それぞれの単語は小文字だけで構成されている。
単語間は1つまたは複数のスペース文字で区切られています。
例:
words.txtの内容を次のようにする。
day day is sunny the the
the sunny is is
スクリプトは出力する必要があります(語順の降順):
the 4
is 3
sunny 2
day 1
説明:
同じ語数の単語を並べ替える問題は心配しないでください。それぞれの単語の出現頻度は一意です。
集計したら順番に並べて、アウトプットする。
cat words.txt | xargs -n 1 | awk '{
if($1 in data)
data[$1] = data[$1] + 1
else
data[$1] = 1
} END {for(str in data) print data[str],str}' | sort -rn | awk '{print $2, $1}'