ファイル内の特定のテキストを検索し、最後に出現したインデックスを見つけようとしています。タスクは、検索されたインデックスを同じファイル内の別の列に追加することです。私はタスクを達成できますが、より効率的なソリューションを探しています。
詳細な説明は次のとおりです。
names_file.txt
タルン・トレハン ヴィクラム・バトラ allzhere ブログ すべての場所の Android アプリ Facebookのallzhere 連絡先アップデータ ユーティリティ 助けて
次のコマンドを実行して、結果をステージング ファイル (names_searched.txt) に取得します。
grep "n" names_file.txt > names_searched.txt
結果は次のとおりです。
タルン・トレハン すべての場所の Android アプリ Facebookのallzhere 連絡先アップデータ ユーティリティ
ここで、次の awk コマンドを実行して、「n」の最後のインデックスを抽出します。
猫の名前_検索済み.txt | awk -F"n" '{印刷長($0) - 長さ($NF)}' > namex_srch_idx.txt
結果は次のとおりです。
12 11 11 3
ここで、ファイルを貼り付けて、結果のファイルを準備します。
貼り付け names_searched.txt namex_srch_idx.txt > names_result.txt
望ましい結果は次のとおりです。
タルン・トレハン 12 allzhere Android アプリ 11 Facebookのallzhere 11 連絡先アップデータ ユーティリティ 3
ステージング ファイルを作成しなくても同じ結果が得られる回避策はありますか?