Bash:ファイルの行へのパスまたはリンク?

Bash:ファイルの行へのパスまたはリンク?
/path/to/fname#line1242

パス名の一部としてファイルの特定の行番号を参照する方法はありますか?パックパス名のように見える、または機能する行番号へのリンク?たとえば、同じファイルシステム上の他のユーザーに上記の文字列を提供すると、そのユーザーは自分のファイル「fname」を簡単に開き、そのファイルの1242行目にすぐにアクセスできます。

私は、ページのURIに含まれる次のリンクのように動作できるHTMLアンカーに似た動作について考えています。つまり、同じファイルシステム上の他のユーザーに提供でき、そのユーザーにファイルがデフォルトで開かれているファイルの特定の行を表示できます。私はUNIXが唯一の方法であることに気づきました。本当にパス名の一部は、ディレクトリ、ファイル、および擬似ファイルです。ただし、パス名の一部ではありませんが、「快適に」挿入でき、追加のコマンドなしでファイル名を渡して参照できるグローブ、文字列拡張などもあります。 UNIXファイルのアンカー/リンク動作をエミュレートするインライン方法はありますか?

「pathname」には、コマンドの置換と一種の独自の参照を含めることができますが、これはsed "1242p"パス名を扱うことなくファイル内のコマンドのみを処理します。そういえばリンクをしなくてただ行だけ抽出したんですね。ファイルの残りの部分を無視せずに特定の行にリンクする方法を理解することはできません。

GNUバッシュ、バージョン3.2.51

ベストアンサー1

という名前のファイルを作成し、そのファイル+view +1242 fnameに対してまたはを呼び出すことができますviview

view '+view +1242 fname'

1242行の先頭にカーソルを置き、fnameカーソルを置きます(ここで/が実装されていると仮定します)。viewvimviview

または、次の操作を行います。

ln -s / '+view +1242 '

だからあなたも:

view '+view +1242 /etc/passwd'

1242行目を見てください/etc/passwd

または:

touch '+exe "view +1242 \57etc\57passwd"'

それはview

view '+exe "view +1242 \57etc\57passwd"'

ターゲットファイルの一番上の行を作成することもできます。

#! /usr/bin/less +1242

実行可能にして()、1242行目で開くように実行しますchmod +x fnameless

おすすめ記事