$ seq 1 10 | awk '$1%2==1 {print $1}'
Result:
1
3
5
7
9
Command (odd):
$ seq 1 10 | awk '$1%2==0 {print $1}'
Result:
2
4
6
8
10
{
readcsv($0);
print $2" by "$3;
}
function readcsv(string)
{
#フィールド番号
n=1;
#コンマ区切り
m=split(string, array , ",");
#完全フィールドか否か
aflag=1;
for(i=1;i<=m;i++){
# " "で括られていない完全フィールド。
if( !(array[i] ~ /^\"/) && !(array[i] ~/\"$/) && aflag){
#ダブルクオートのエスケープ文字を削除
gsub(/\"\"/,"\"", array[i]);
$n=array[i];
n++;
continue;
}
# " "で括られている完全フィールド
if(( array[i] ~ /^\".*\"$/ ) && aflag){
#先頭と末端にあるダブルクオートを削除する
gsub(/^\"/,"", array[i]);
gsub(/\"$/,"", array[i]);
#ダブルクオートのエスケープ文字を削除
gsub(/\"\"/,"\"", array[i]);
$n=array[i];
n++;
continue;
}
# 先頭が "の部分フィールド
if(array [i] ~ /^\"/){
#先頭のダブルクオートを削除
gsub(/^\"/,"", array[i]);
#ダブルクオートのエスケープ文字を削除
gsub(/\"\"/,"\"", array[i]);
aflag=0;
$n=array[i];
continue;
}
# " "で括られていない、続きの部分フィールド。
if(!(array[i] ~ /^\"/) && !(array[i] ~/\"$/) && aflag==0){
#ダブルクオートのエスケープ文字を削除
gsub(/\"\"/,"\"", array[i]);
$n = $n "," array[i];
continue;
}
# 末端が "の部分フィールド
if((array [i] ~ /\"$/) && aflag==0){
#末端のダブルクオートを削除
gsub(/\"$/,"", array[i]);
#ダブルクオートのエスケープ文字を削除
gsub(/\"\"/,"\"", array[i]);
$n = $n "," array[i];
aflag=1;
n++;
continue;
}
}
}
$ cat list.csv | awk -f ./csv.awk
$ echo -n '"test,test",testtest,test,test' | awk 'BEGIN{FS=",";RS="\n";OFS="-";ORS="+"}{print $1, $2, $3, $4, $5, $6}'
"test-test"-testtest-test-test-+
$ echo -n 'test,test,test' | awk '{m=split($0,array,",")}{print m}'
3
$ awk 'BEGIN {words=0}{words+=NF} END { printf "%i", words} ./lines.txt
$ awk 'BEGIN {} END { printf "%i", NR }' ./lines.txt
$ head -$[${RANDOM} % `wc -l < ./list.txt` + 1] ./list.txt | tail -1 | awk -F, '{print $4"("$2")"$3}' | ruby ./tweet.rb
#!/bin/bash
for i; do
echo -n $i
done
$ awk -F, '{
cmd="./echo.bash \""$2"\" | openssl dgst -sha256"
while (cmd | getline line){
print line
}
close(cmd)
}' ./test.txt
awk -F, '{
cmd="echo -n \""$2"\" | openssl dgst -sha256"
while (cmd | getline line){
print line
}
close(cmd)
}' ./test.txt
awk -F, '{
cmd="echo -n \""$2"\" | md5"
while (cmd | getline line){
print line
}
close(cmd)
}' ./test.txt
awk -F'|' '{print $2}' ./lines.txt
awk '{print $0"|"}' ./input.txt > ./output.txt
echo $(ruby -e 'print rand') $(wc -l < "./lines.txt") | awk '{printf("%d\n", $1*$2)}'