python 일직선구 도전~초보자의 학습m()m

2663 단어 일차 구동Python3
나는 bc,tac,grep,sed,awk를python 1호선으로 만들어 보았다.
습관python을 목적으로 일상생활에서 사용하면 됩니다.
그러나 실제로 사용하는 것은 단지'계산기(간단한 계산)'일 뿐이다.
다음은 "file1.txt"는 텍스트 파일입니다.

1) 계산기(단순 계산)


● bc
$ echo "scale=4; 1.23 * 4.56" | bc
5.6088
$ echo "2^3" | bc
8
● python
$ python -c "print(1.23 * 4.56)"
5.6088
$ python -c "print(2**3)"
8

2) 텍스트 직접 출력(향후 샘플 준비)


● cat
$ cat file1.txt
● ptyhon ※ 이렇게 하면 캣이 되지 않을까...
$ cat file1.txt | python -c 'import sys; [print(l,end="") for l in sys.stdin]'

3) 텍스트 파일을 반대 순서로 출력(끝 - 행1)


● tac
$ tac file1.txt
● python
$ cat file1.txt | python -c 'import sys; [print(l,end="") for l in reversed(list(sys.stdin))]'

4) 지정된 행의 추출(예: 2~5행)


● sed
$ sed -n 2,5p file1.txt
● python
$ cat file1.txt | python -c 'import sys, re; [print(l,end="") for l in list(sys.stdin)[1:5]]'
※ 주의는 [1:4]가 아닌 [1:5]입니다.왜?

5) 지정된 열 빼기(예: 두 번째 열 빼기)


● awk
$ awk '{print $2}' file1.txt
● python
$ cat file1.txt | python -c 'import sys, re; [(lambda x: print(x[1]) if len(x) > 1 else print(""))(i) for i in [l.split() for l in sys.stdin]]'

6) 문자열 검색(예: "ABC" 검색)


● grep
$ grep -e "ABC" file1.txt
$ grep -i -e "ABC" file1.txt
● python
$ cat file1.txt | python -c 'import sys, re; [print(l,end="") for l in sys.stdin if re.search("ABC",l)]'
$ cat file1.txt | python -c 'import sys, re; [print(l,end="") for l in sys.stdin if re.search("ABC",l,re.IGNORECASE)]'

7) 문자열 대체(예: "ABC"를 "XYZ"로 대체)


● sed
$ sed -e 's/ABC/XYZ/' file1.txt
$ sed -e 's/ABC/XYZ/g' file1.txt
$ sed -e 's/ABC/XYZ/ig' file1.txt
● python
$ cat file1.txt | python -c 'import sys,re; [print(re.sub("ABC","XYZ",l,1),end="") for l in sys.stdin]'
$ cat file1.txt | python -c 'import sys,re; [print(re.sub("ABC","XYZ",l),end="") for l in sys.stdin]'
$ cat file1.txt | python -c 'import sys,re; [print(re.sub("ABC","XYZ",l,0,re.IGNORECASE),end="") for l in sys.stdin]'

이유(요약)


계산기 이외의 쓰기를 실제로 사용하지 않은 것 같습니다.그러나 리스트 처리, 내부 기록, lambda식 연습이기 때문에 글을 써 보았다.

좋은 웹페이지 즐겨찾기