1. ホーム
  2. python

[解決済み] Python スクリプト内の awk コマンド

2022-02-02 02:26:30

質問

Python スクリプトを書く必要があり、その中でいくつかの awk コマンドを呼び出す必要があります。

#!/usr/bin/python
import os, sys
input_dir = '/home/abc/data'

os.chdir(input_dir)
#wd=os.getcwd()
#print wd
os.system ("tail -n+2 ./*/*.tsv|cat|awk 'BEGIN{FS="\t"};{split($10,arr,"-")}{print arr[1]}'|sort|uniq -c")

8行目でエラーになります。SyntaxError: 行の継続文字の後に予期しない文字がある。

Python スクリプトの中で awk コマンドを動作させる方法はありますか? ありがとうございます。

解決方法は?

この文字列には両方のタイプの引用符が含まれているので、全体をトリプルクォートで囲みます。

>>> x = '''tail -n+2 ./*/*.tsv|cat|awk 'BEGIN{FS="\t"};{split($10,arr,"-")}{print arr[1]}'|sort|uniq -c'''
>>> x
'tail -n+2 ./*/*.tsv|cat|awk \'BEGIN{FS="\t"};{split($10,arr,"-")}{print arr[1]}\'|sort|uniq -c'