/path/to/fname#line1242
パス名の一部としてファイルの特定の行番号を参照する方法はありますか?パックパス名のように見える、または機能する行番号へのリンク?たとえば、同じファイルシステム上の他のユーザーに上記の文字列を提供すると、そのユーザーは自分のファイル「fname」を簡単に開き、そのファイルの1242行目にすぐにアクセスできます。
私は、ページのURIに含まれる次のリンクのように動作できるHTMLアンカーに似た動作について考えています。つまり、同じファイルシステム上の他のユーザーに提供でき、そのユーザーにファイルがデフォルトで開かれているファイルの特定の行を表示できます。私はUNIXが唯一の方法であることに気づきました。本当にパス名の一部は、ディレクトリ、ファイル、および擬似ファイルです。ただし、パス名の一部ではありませんが、「快適に」挿入でき、追加のコマンドなしでファイル名を渡して参照できるグローブ、文字列拡張などもあります。 UNIXファイルのアンカー/リンク動作をエミュレートするインライン方法はありますか?
「pathname」には、コマンドの置換と一種の独自の参照を含めることができますが、これはsed "1242p"
パス名を扱うことなくファイル内のコマンドのみを処理します。そういえばリンクをしなくてただ行だけ抽出したんですね。ファイルの残りの部分を無視せずに特定の行にリンクする方法を理解することはできません。
GNUバッシュ、バージョン3.2.51
ベストアンサー1
という名前のファイルを作成し、そのファイル+view +1242 fname
に対してまたはを呼び出すことができますvi
。view
view '+view +1242 fname'
1242行の先頭にカーソルを置き、fname
カーソルを置きます(ここで/が実装されていると仮定します)。view
vim
vi
view
または、次の操作を行います。
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 fname
less