行の最初の5文字と最後の10文字を取得するコマンド

行の最初の5文字と最後の10文字を取得するコマンド

次の行があります。

postgres  3625     1  0 Jan31 ?        00:00:35 /opt/rh/rh-postgresql95/root/usr/bin/postgres -D /var/opt/rh/rh-postgresql95/lib/pgsql/data

最初の5文字と最後の10文字を切り取り、1行につなげるように指示します。

ベストアンサー1

ここで何をしたいのかよくわかりませんが、

foo="postgres 3625 1 0 Jan31 ? 00:00:35 /opt/rh/rh-postgresql95/root/usr/bin/postgres -D /var/opt/rh/rh-postgresql95/lib/pgsql/data"

標準bash機能を使用して実行できます。

$ echo ${foo:0:5}
postg
$ echo ${foo: -10:10}
pgsql/data
$ echo ${foo:0:5} ${foo: -10:10}
postg pgsql/data
$ echo ${foo:0:5}${foo: -10:10}
postgpgsql/data

2番目のドアの負のオフセットは、「終わりから始まる」を意味します。

おすすめ記事