- 目的
- 備忘録
- 以前作った文字列操作のコマンドを備忘として残しておく
- 結論
- 以下のコマンドを実行すると求めてる結果が得られる
- 実行コマンド
- 先頭から1文字削除
-
echo 'abcdefghijkl' | awk '{print substr($0, 2)}
- 実行結果
-
[ec2-user@ip-192-168-10-61 ~]$ echo 'abcdefghijkl' | awk '{print substr($0, 2)}' bcdefghijkl
-
-
- 先頭から3文字削除
-
echo 'abcdefghijkl' | awk '{print substr($0, 4)}'
- 実行結果
-
[ec2-user@ip-192-168-10-61 ~]$ echo 'abcdefghijkl' | awk '{print substr($0, 4)}' defghijkl
-
-
- => つまり、
substr($0, 4)
の4-1した文字数分先頭から削除する
- 末尾から1文字削除
-
echo 'abcdefghijkl' | awk '{print substr($0, 1, length($0)-1)}'
- 実行結果
-
[ec2-user@ip-192-168-10-61 ~]$ echo 'abcdefghijkl' | awk '{print substr($0, 1, length($0)-1)}' abcdefghijk
-
-
- 末尾から4文字削除
-
echo 'abcdefghijkl' | awk '{print substr($0, 1, length($0)-4)}'
- 実行結果
-
[ec2-user@ip-192-168-10-61 ~]$ echo 'abcdefghijkl' | awk '{print substr($0, 1, length($0)-4)}' abcdefgh
-
-
- => つまり、
length($0)-4)
の-4の文字数分末尾から削除して表示される
- 先頭と末尾から1文字ずつ削除
-
echo 'abcdefghijkl' | awk '{print substr($0, 2, length($0)-2)}'
- 実行結果
-
[ec2-user@ip-192-168-10-61 ~]$ echo 'abcdefghijkl' | awk '{print substr($0, 2, length($0)-2)}' bcdefghijk
-
-
- 先頭と末尾から2文字ずつ削除
-
echo 'abcdefghijkl' | awk '{print substr($0, 3, length($0)-4)}'
- 実行結果
-
[ec2-user@ip-192-168-10-61 ~]$ echo 'abcdefghijkl' | awk '{print substr($0, 3, length($0)-4)}' cdefghij
-
-
- つまり、
substr($0, 3, length($0)-4)
の3-1の文字数分、先頭から削除されlength($0)-4
の4-<先頭で削除する文字数>の文字数分末尾から削除される
- 先頭から1文字削除