こんにちは、
おそらくこれは非常に簡単なことですが、私は今ポイントを得ることができません。Linuxでは、シェル、テキストファイルが与えられた場合、どのように猫のファイル名のようなことができますか?
猫を使用しない場合、別のコマンドを使用する
ありがとう
こんにちは、
おそらくこれは非常に簡単なことですが、私は今ポイントを得ることができません。Linuxでは、シェル、テキストファイルが与えられた場合、どのように猫のファイル名のようなことができますか?
猫を使用しない場合、別のコマンドを使用する
ありがとう
回答:
sedを使用します。
sed -n 1~2p filename
sedがデフォルトではないシステムでは動作しない場合があります。
sedマニュアルgnu.org/software/sed/manual/html_node/Addresses.html#Addressesには、「このGNU拡張機能の最初のステップ…」と書かれています。それは言及していません--posix。私がしようとするとgsed --posix -n 1~2p(GNUは4.2.1をSED)、私が得ますgsed: -e expression #1, char 2: unknown command: ‘~’。
Googleで簡単に検索すると、次のリンクが表示されます:http : //bash.cyberciti.biz/academic/write-odd-even-line-file/
少し調整するだけです。
私の2セント。
これをテストしていません(Mac OS Xでは動作しないようです)が、GNU sedはfirst~stepアドレス選択としてサポートしているため、たとえば:
sed -n 1~2p file
最初の行から開始し、その後1行おきに印刷します。
sed、基本インストールでBSD を使用します。
テストできません。リンクが見つかりました: cat -n $ 1 | grep "$ ODDRE" | cut -b 8-> oddfile。$$
ODDRE設定されているもの。しかし、その答えは、ファイルが100万行未満の場合にのみ機能します。
結果を要求するためにこれらのコマンドを使用できます
awk 'NR%2 == 1'
sed -ne '1〜2p'
ls -lここにいますか?
{print}デフォルトのアクションawk 'NR % 2 == 0' < myfileなので、十分です。