Unix에서 파일 시작 부분에 변수를 인쇄하고 삽입하는 방법은 무엇입니까?

Unix에서 파일 시작 부분에 변수를 인쇄하고 삽입하는 방법은 무엇입니까?
Length=$(cat Final.txt|wc -l)
echo $Length
sed -i '1 i\<records>$(echo $Length)</records>' Final.txt

행 XXX를 추가해야 합니다. 여기서 XXX는 행 수를 나타내는 변수여야 합니다. 위의 코드와 다른 조합을 시도했습니다. 그들 중 누구도 작동하지 않는 것 같습니다.

답변1

Length=$(wc -l < Final.txt)
echo $Length
sed -i "1 i\<records>$Length</records>" Final.txt

답변2

sed -i "1 i\<records>$(wc -l Final.txt < Final.txt)</records>" Final.txt
  1. 중간 변수가 필요하지 않습니다.

  2. 편집: userkamaraj 및 userDonChrissti의 의견에 따라 파일 이름 과 줄 번호 cut에 대한 출력을 구문 분석하는 데 명령이나 다른 수단이 필요하다는 설명을 제거했습니다. wc간단한 I/O 리디렉션으로 이를 숨기 wc므로 어떤 파일이 처리되고 있는지 알지 못하면 인쇄할 것이 없습니다.

관련 정보