min117の日記

初期desireもち。趣味Mac,メインFedora,仕事xp。

bash 3桁の数字で各桁を足すと15になる数字だけを表示(ゾロ目は除く)

www.youtube.com

 

[fedora PT3]$ seq 123 999 | grep -v 0 | awk -F '' '$1+$2+$3==15' | grep -P '(.).*\1'

177

339

366

393

447

474

555

636

663

717

744

771

933

[fedora PT3]$ 

 

grep -P だと perl正規表現

min117.hatenablog.com

 

xargsで1行に表示

[fedora PT3]$ seq 123 999 | grep -v 0 | awk -F '' '$1+$2+$3==15' | grep -P '(.).*\1' | xargs

177 339 366 393 447 474 555 636 663 717 744 771 933

[fedora PT3]$ 

 

 grep -v で反転

seq 123 999 | grep -v 0 | awk -F '' '$1+$2+$3==15' | grep -Pv '(.).*\1'

 

xargsで1行に表示

[fedora PT3]$ seq 123 999 | grep -v 0 | awk -F '' '$1+$2+$3==15' | grep -Pv '(.).*\1' | xargs

159 168 186 195 249 258 267 276 285 294 348 357 375 384 429 438 456 465 483 492 519 528 537 546 564 573 582 591 618 627 645 654 672 681 726 735 753 762 816 825 834 843 852 861 915 924 942 951

[fedora PT3]$ 

 

-Pを使わずに grep本体だけでもいける

[fedora PT3]$ seq 123 999 | grep -v 0 | awk -F '' '$1+$2+$3==15' | grep -v '\(.\).*\1' | xargs

159 168 186 195 249 258 267 276 285 294 348 357 375 384 429 438 456 465 483 492 519 528 537 546 564 573 582 591 618 627 645 654 672 681 726 735 753 762 816 825 834 843 852 861 915 924 942 951

[fedora PT3]$ 

 

 

xargsで10行だけ表示

[fedora PT3]$ seq 123 999 | grep -v 0 | awk -F '' '$1+$2+$3==15' | grep -v '\(.\).*\1' | xargs -n 10

159 168 186 195 249 258 267 276 285 294

348 357 375 384 429 438 456 465 483 492

519 528 537 546 564 573 582 591 618 627

645 654 672 681 726 735 753 762 816 825

834 843 852 861 915 924 942 951

[fedora PT3]$