ファイル.txtの例:
/map/1.0.0/cd/base/4/23/82.png 200
/map/1.0.0/cd/base/2/48/154.png?fefsfes 200
/map/1.0.0/cd/base/3/45/433.png?gtdrdrg 200
これを削除する必要があります:
.png
.png?fefsfes
.png?gtdrdrg
私はこれを使う
$ cat file.txt | awk '{ print $1","$2}'
答えを得ました:
/map/1.0.0/cd/base/4/23/82.png,200
/map/1.0.0/cd/base/2/48/154.png?fefsfes,200
/map/1.0.0/cd/base/3/45/433.png?gtdrdrg,200
どういうわけか列を取得して、awk '{ print $1}'
最後の数字以降のすべての項目を削除できますか?
望ましい結果:
/map/1.0.0/cd/base/4/23/82,200
/map/1.0.0/cd/base/2/48/154,200
/map/1.0.0/cd/base/3/45/433,200
答え1
awkコマンドの本質を維持するには、sub
不要な末尾の部分を簡単に削除するだけです。$1
awk '{sub(/\.png.*$/,"",$1); print $1","$2}' file
または(おそらくもっと不器用に)
awk '{sub(/\.png.*$/,"",$1)}1' OFS=, file
答え2
次のawkソリューションを試してみてください。
awk 'BEGIN{FS=".png| "} {print $1,$NF}' kk.txt |tr ' ' ','
複数のフィールド区切り記号を使用してください。