Pythonを作成していて、端末に特定の行だけを表示したい場合は、どのコマンドを使用する必要がありますか?たとえば、私のプログラムは次のようになります。 print("1 行目") print("2 行目") print("3 行目")
2行目のコードのみが端末に表示されるようにします。 print("2行目") - プログラム全体を実行するために使用するコマンドはpythonprogramname.pyですが、特定の行をどのように印刷しますか?
答え1
n
ファイルの行を見たいと仮定すると、次のように簡単に実行できます。
sed -n '42p' yourfile.py
42
見たい行番号に置き換えてください。
編集後:必要に応じて実装するこのコードは次にパイプするだけですpython
。
sed -n '42p' yourfile.py | python
答え2
代替awk
ソリューション:
awk "NR==2" programname.py
答え3
bash / shellに慣れていない場合は、Pythonスクリプトを作成してこれを行うこともできます!
#!usr/bin/env python
# usage: ./script file line_no
import sys
data = ''
with open(sys.argv[1],'r') as f:
data = f.read()
data = data.split('\n')
try:
print data[sys[2] +1]
except IndexError:
print "Line doesn't exist"
注:これは単に速くて汚い例です。必要に応じて改善できます。
答え4
@DoorKnobの回答に基づいて、誰でも検索でこれを見つけた場合出力のn番目の行を見つけたいです。。それではこれをやってください。
run-program | sed -n '2p'
これにより、出力の42行目が印刷されます。run-program
例えば
python yourfile.py | sed -n `2p`