こんにちは、
おそらくこれは非常に簡単なことですが、私は今ポイントを得ることができません。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
なので、十分です。