12P by xguru 2023-10-28 | favorite | 댓글과 토론
  • ppp line
    • $ cat staff.txt |ppp 'i, line.upper()'
    • 라인당 처리. 각 라인번호는 i, 라인 전체 스트링은 line/l 로 받아서 처리 가능
  • ppp rec
    • `$ cat staff.txt |ppp rec 'r[:3]'
    • 각 라인을 TAB으로 Split. 분할된 스트링을 rec/r로 받을수 있음
    • -l 길이 옵션을 주면 각 필드를 f1, f2, f3 등으로 받을 수 있음
    • $ tail -n +2 staff.txt |ppp rec -l5 'f"{f1} is {f4} years old"'
    • -H 옵션으로 첫 헤더라인 인식하고 스킵 가능
  • ppp csv
    • rec와 같지만, 딜리미터를 지정 가능(기본값은 콤마) csv 라이브러리를 사용
    • $ cat staff.csv |ppp csv -O 'quoting=csv.QUOTE_ALL'
  • ppp text
    • 전체 인풋이 하나의 텍스트로 읽어짐. text로 접근 가능
    • $ cat staff.txt | ppp text 'len(text)'
  • ppp file
    • 파일 경로 리스트를 받아서, 각 파일을 열어서 text에 읽어들이고 처리하며, 이걸 리스트 파일들에 대해 반복
    • 경로 역시 path로 접근 가능
    • $ ls staff.txt staff.csv staff.json staff.xml |ppp file 'path, len(text)'
  • ppp custom -N NAME
    • 커스텀 커맨드를 파이썬으로 만들어서 쉽게 추가 가능
    • ~/.config/pypipe/pypipe_custom.py 에 정의되며 파일 위치는 환경변수로 변경 가능
  • 코드 생성기로도 동작
    • 전달된 인자를 통해서 파이썬 코드를 생성 가능
    • 해당 코드를 exec 으로 실행하거나 -p 로 프린트 및 -o PATH로 파일저장 지원