myfile.csv
임의로 업데이트/작성하는 클라이언트가 있습니다.
다음 코드를 작성했는데 MySQL 코드 조각은 생략했습니다.
while true
do
awk_variables_value_array=`tail -n2 myfile.csv | awk -F, '$7 == "status" {print $4, $5, $10 }'`
var1=${awk_variables_value_array[0]}
var2=${awk_variables_value_array[1]}
var3=${awk_variables_value_array[2]}
if[ "var3" -gt "0" ]
--MYSQL SNIPPET IS--
fi
done
묻다: tail -n2
읽다마지막2줄인데 어떻게 바꾸나요?두 번째 라인
문서:
어디N파일의 마지막 줄입니다
line 1
line 2
line 3
line 4
....
line n-2
line n-1
line n
전류 출력 출력:
line n-1
line n
나는 출력을 다음과 같이 원한다:
line n-1
답변1
어때요 tail -n2 myfile.csv | head -n1 | awk ....
?
답변2
sed 'x;$!d' <infile
그것은 당신에게 효과가 있을 것입니다.
설명:
각 줄마다sed
e는 x
버퍼를 변경합니다(저장 공간과 패턴 공간의 내용 교환). 마지막 줄에 없으면 d
현재 패턴 공간을 삭제합니다(그래서 아무것도 인쇄되지 않습니다). 마지막 줄 sed
(이전 두 번째 줄 포함) 에만 패턴 공간을 자동으로 인쇄합니다.