linux 명령의 디렉터리 모니터링 문자열 분리 모니터링 명령 실행 결과 통계 줄 제거 텍스트 머리말 공백 찾기 카드 이름 부동 점수 연산 등 명령 사용 기교
1. 모니터링 디렉터리, 새로 만든 파일 이름을 로그에 추가
# inotify-tools
#!/bin/bash
MON_DIR=/opt
inotifywait -mq --format %f -e create $MON_DIR |\
while read files; do
echo $files >> test.log
done
2,find 한 번에 여러 개의 지정된 파일 형식 찾기
# find ./ -name '*.jpg' -o -name '*.png'
# find ./ -regex ".*\.jpg\|.*\.png"
3, 문자열 분할
# echo "hello" |awk -F '' '{for(i=1;i<=NF;i++)print $i}'
# echo "hello" |sed 's/./&
/g'
# echo "hello" |sed -r 's/(.)/\1
/g'
4. 실시간 모니터링 명령 실행 결과
`# watch -d -n 1 'ifconfig'`
5. 우편물 부호 문제 해결
# echo `echo "content" | iconv -f utf8 -t gbk` | mail -s "`echo "title" | iconv -f utf8 -t gbk`" [email protected]
참고: iconv 도구를 통해 내용 문자 집합을 변환합니다.6. 텍스트에 세 줄마다 줄 바꾸기 또는 내용 추가
# sed '4~3s/^/
/' file
# awk '$0;NR%3==0{print "
"}' file
# awk '{print NR%3?$0:$0 "
"}' file
7. 일치하는 줄 및 뒷줄 또는 앞줄 삭제
# sed '/abc/,+1d' file #
# sed '/abc/{n;d}' file #
# tac file |sed '/abc/,+1d' |tac #
8. 본점 수 통계메서드 1
# wc -l file
메서드 2# grep -c . file
메서드 3 # awk 'END{print NR}' file
메서드 4# sed -n '$=' file
9. 텍스트 시작 및 끝 공백 제거
# sed -i 's/^[ \t]*//;s/[ \t]*$//' file
10. 단일 IP에 큰따옴표 추가
# echo '10.10.10.1 10.10.10.2 10.10.10.3' |sed -r 's/[^ ]+/"&"/g'
# echo '10.10.10.1 10.10.10.2 10.10.10.3' |awk '{for(i=1;i<=NF;i++)printf "\047"$i"\047"}'
11. 스크립트에서 인쇄 대기 시간
wait(){
echo -n "wait 3s"
for ((i=1;i<=3;i++)); do
echo -n "."
sleep 1
done
echo
}
wait
12. 지정한 줄 삭제
# awk 'NR==1{next}{print $0}' file #$0
# awk 'NR!=1{print}' file
# awk 'NR!=1{print $0}' :awk '!/test/{print $0}'
# sed '1d' file
# sed -n '1!p' file
13.지정한 줄 앞뒤로 한 줄 추가두 번째 줄 앞 줄에 txt:
# awk 'NR==2{sub('/.*/',"txt
&")}{print}' a.txt
# sed'2s/.*/txt
&/' a.txt
두 번째 줄 다음 줄에 txt:
# awk 'NR==2{sub('/.*/',"&
txt")}{print}' a.txt
# sed'2s/.*/&
txt/' a.txt
14. IP를 통한 네트워크 카드 이름 얻기
# ifconfig |awk -F'[: ]' '/^eth/{nic=$1}/192.168.18.15/{print nic}'
15, 부동 소수점 연산 (숫자 46 소수점 유지)
# awk 'BEGIN{print 46/100}'
0.46
# echo 46|awk '{print $0/100}'
0.46
# awk 'BEGIN{printf "%.2f
",46/100}'
0.46
# echo 'scale=2;46/100' |bc|sed 's/^/0/'
0.46
# printf "%.2f
" $(echo "scale=2;46/100" |bc)
0.46
16. 부동 소수점 비교방법 1:
if [ $(echo "4>3"|bc) -eq 1 ]; then
echo yes
else
echo no
fi
방법 2:
if [ $(awk 'BEGIN{if(4>3)print 1;else print 0}') -eq 1 ]; then
echo yes
else
echo no
fi
17. 줄 바꿈 문자는 쉼표로 바꾸기
$ cat a.txt
1:
2
3
교체 후: 1,2,3방법 1:
$ tr '
' ',' < a.txt
$ sed ':a;N;s/
/,/;$!b a' a.txt
$ sed ':a;$!N;s/
/,/;t a' a.txt :
방법 2:
while read line; do
a+=($line)
done < a.txt
echo ${a[*]} |sed 's/ /,/g'
방법 3:
awk '{s=(s?s","$0:$0)}END{print s}' a.txt
세 개의 연산자(a?b:c), 첫 번째 s는 변수, s?","$0: $0, 첫 번째 처리 1 시 s 변수는 값을 가짜로 부여하지 않았습니다. 결과는 1을 인쇄하고 두 번째 처리 2 시 s 값은 1입니다. 진실입니다. 결과는 1,2입니다.이와 같이 소괄호는 쓰지 않아도 된다.
awk '{if($0!=3)printf "%s,",$0;else print $0}' a.txt
18. 윈도우즈에서 linux로 텍스트 숨기기 제거메서드 1: 파일을 열고 입력
:set fileformat=unix
메서드 2: 파일을 열고 입력:%s/\r*$// #^M \r
방법 3:sed -i 's/^M//g' a.txt #^M ctrl+v, ctrl+m
방법 4:dos2unix a.txt
19.xargs 교묘한 사용xargs-n1#단일 필드를 한 줄로 만들기
# cat a.txt
1 2
3 4
# xargs -n1 < a.txt
1
2
3
4
xargs -n2 #
$ cat b.txt
string
number
a
1
b
2
$ xargs -n2 < a.txt
string number
a 1
b 2
20. 현재 디렉터리를 집계합니다.html 끝 파일 총 크기방법 1:
# find . -name "*.html" -maxdepth 1 -exec du -b {} \; |awk '{sum+=$1}END{print sum}'
방법 2:
for size in $(ls -l *.html |awk '{print $5}'); do
sum=$(($sum+$size))
done
echo $sum
귀속 통계:
# find . -name "*.html" -exec du -k {} \; |awk '{sum+=$1}END{print sum}'
이번에는 주로 linux의 디렉터리 감시 문자열 분할 감시 명령 운행 결과 통계 줄 수 제거 텍스트 머리말 공백 얻기 카드 이름 부동점수 연산 등 명령 사용 방법을 소개했습니다. 더 재미있는 명령 사용 기교는 아래의 관련 글을 보십시오.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Linux 일반 명령의 wallLinux 일반 명령의 wall 때때로 서버는 여러 사람이 사용하지만 누가 사용하고 있는지 알 수 없습니다. 이때 linux 명령wall을 사용하여 상대방에게 물어볼 수 있습니다.명령은 다음과 같습니다. 각 term...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.