段落に番号を付け、最後の段落のみを表示するようにcatコマンドを変更します。

段落に番号を付け、最後の段落のみを表示するようにcatコマンドを変更します。

テキストファイルがあり、次の3つのことを行う必要があります。

  1. ファイルの内容全体を表示しながらキーワードを強調表示するように "cat"コマンドを変更します。解決策を探す
  2. 自動的に段落番号を付けるには、「cat」コマンドを修正してください。空行で区切られます。
  3. 最後の段落のみを表示するように "cat"コマンドを変更します。

面倒なのは、これを次のユーザーが行う必要があるということです。猫の修正注文する。

私はcatがそれに適していないことを説明する多くのフォーラム投稿を見て、その理由を完全に理解しています。しかし挑戦は私にあります猫を使うべき

答え1

本当に猫を使うべきですか?

cat -n  thefile | tail -n1 

「ファイルの内容全体を表示しながらキーワードを強調表示する」とはどういう意味ですか?

強調したいキーワードは何ですか?

すべての段落に番号を付け、最後の段落のみを表示する目的は何ですか? (注:私が書いたコマンドはこれを行います。cat -nは段落番号を付け、tail -n1は最後の段落のみを表示します)

答え2

GCSEコンピューティングを教えることに幸運がありますように。 ;) 問題で cat の使用を指定しません。少なくとも問題シートにはありません!

私はすでにやった

perl -00pe ‘s/^/$. /’ textfile

7iiと

perl -00pe ‘s/^/$. /’ jamestextfile | tail -n1

7iiiの場合

7番問題で最も重要なのはパイプのようなものを使うことです。

答え3

この質問とコメントが面白いので、もう少し深く見ました。提供されたコメントに基づいて質問がどのように出力修正猫の命令?「可能であれば、コマンドスイッチを使用してください。例の入力が提供され、予想される出力が表示されれば、問題を理解しやすくなります。

TEST_FILE以下が与えられると仮定します。

This is the first (1) paragraph. This is the second (2) sentence. This is the third (3) sentence.\n The fourth (4) sentence of the first (1) paragraph is the second (2) line of the first (1) paragraph.

This is the second (2) paragraph. This is the second (2) sentence of the second (2) paragraph. This is the third (3) sentence of the second (2) paragraph.


This is the third (3) paragraph. This is the second (2) sentence. This is the third (3) sentence of the second (3) paragraph.



This is the fourth (4) paragraph. This is the second (2) sentence of the fourth (4) paragraph. This is the third (3) sentence.




This is the fifth (5) paragraph. This is the second (2) sentence. This is the third (3) sentence.\n The fourth (4) sentence of the fifth (5) paragraph is the second (2) line of the fifth (5) paragraph.

段落は(必要に応じて)空行で区切られていませんが、特定のコマンドがどのように機能するかを理解することは依然として有益です。

冗長空白出力ラインの抑制:

cat -s TEST_FILE 
This is the first (1) paragraph. ...

This is the second (2) paragraph. ...

This is the third (3) paragraph. ...

This is the fourth (4) paragraph. ...

This is the fifth (5) paragraph. ...

また、すべての出力ラインに番号を付けます。:

cat -s -n TEST_FILE
     1 This is the first (1) paragraph. ...
     2
     3 This is the second (2) paragraph. ...
     4
     5 This is the third (3) paragraph. ...
     6
     7 This is the fourth (4) paragraph. ...
     8
     9 This is the fifth (5) paragraph. ...

空でない出力ラインにのみ番号を付けます。:

cat -s -n -b TEST_FILE
     1 This is the first (1) paragraph. ...

     2 This is the second (2) paragraph. ...

     3 This is the third (3) paragraph. ...

     4 This is the fourth (4) paragraph. ...

     5 This is the fifth (5) paragraph. ...

「見つかった解決策」に従って、パイプと2番目のコマンドを使用してcatコマンド出力を変更することに同意したようです。少なくともこれは3番目の要件に必要です。

したがって、数値行を使用して同じ結果を得ることができますnl(ただし、空行が実際に空で空白が含まれていない場合のみ)。

cat TEST_FILE | nl
     1  This is the first (1) paragraph. ...

     2  This is the second (2) paragraph. ...


     3  This is the third (3) paragraph. ...



     4  This is the fourth (4) paragraph. ...




     5  This is the fifth (5) paragraph. ...

それでは大丈夫です。空行を削除grep返品:

cat -s -n -b TEST_FILE | grep .

行にスペースが含まれている場合は、まずスペースを削除する必要があります。

grep -v -e '^[[:space:]]*$' TEST_FILE | nl

到着Bashのエコ改行あなたはそれを使用することができます:

echo -e $(cat -s TEST_FILE | tail -1)
echo -e $(cat -s -n -b TEST_FILE | tail -1)

あなたもできます特定の行番号のみを表示。しかし、これは質問の範囲外です。

関連情報