[解決済み】awk substrを使用して最後のフィールドを取得する
2022-02-19 09:27:56
質問
を使おうとしています。
awk
を使用して、ファイルへの絶対パスを指定してファイル名を取得します。
例えば、入力パス
/home/parent/child/filename
を取得したいのですが
filename
試してみました。
awk -F "/" '{print $5}' input
で、これは完全に動作します。
しかし、私はハードコーディングしています
$5
というのは、入力が以下のような構造になっている場合、不正確です。
/home/parent/child1/child2/filename
つまり、一般的な解決策では、常に 最後の フィールド(ファイル名となる)を指定します。
awkのsubstr関数で簡単にできる方法はないでしょうか?
どのように解決するのですか?
という事実を利用する。
awk
は、定義したフィールドセパレータに基づいてフィールド内の行を分割します。したがって、フィールドセパレータを
/
と言うことができます。
awk -F "/" '{print $NF}' input
として
NF
は現在のレコードのフィールド数を意味し、印刷は
$NF
は最後の1つを表示することを意味します。
だから、このようなファイルがあると
/home/parent/child1/child2/child3/filename
/home/parent/child1/child2/filename
/home/parent/child1/filename
これが出力となる。
$ awk -F"/" '{print $NF}' file
filename
filename
filename
関連
-
[解決済み】AWKで列の和をとるには?[重複]
-
[解決済み】Unixで "text file busy "メッセージを発生させるのは何?
-
[解決済み】「pdfseparate」。出力ファイル名を先頭のゼロを含むページ番号としてフォーマットする。
-
[解決済み] unixコマンドを使用して、あるディレクトリ以下のすべてのファイルの内容を画面に表示する方法
-
[解決済み] chmod go-rwx` と `chmod 700` の違いは何ですか?
-
[解決済み] なぜ #!/bin/ksh という行がシェルスクリプトの最初の行なのですか?
-
[解決済み] ls を使用してディレクトリとその合計サイズを一覧表示する
-
[解決済み] ファイルからn行目を取得するBashツール
-
[解決済み] awk を使って n 番目から最後までのすべての列を表示する
-
[解決済み] awk` の最後から2番目の列/フィールドを表示する。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】gpgの復号化に失敗し、秘密鍵がないエラーが発生する。
-
[解決済み】Unixで "text file busy "メッセージを発生させるのは何?
-
[解決済み】「pdfseparate」。出力ファイル名を先頭のゼロを含むページ番号としてフォーマットする。
-
[解決済み】awk substrを使用して最後のフィールドを取得する
-
[解決済み] unixコマンドを使用して、あるディレクトリ以下のすべてのファイルの内容を画面に表示する方法
-
[解決済み] SEDで引用を削除する
-
[解決済み] chmod go-rwx` と `chmod 700` の違いは何ですか?
-
[解決済み] バイナリーボム フェーズ2
-
[解決済み] 再帰的に探す
-
[解決済み] なぜ #!/bin/ksh という行がシェルスクリプトの最初の行なのですか?