/home/digadm02/.bash_history:#1520325239 /home/digadm02/.bash_history:sudo su
test.txt 파일에 다음 줄이 있습니다. "#1520325239" 패턴을 검색하여 "date -d @1520325239" 명령에서 얻은 값으로 바꿔야 합니다. 이런 라인이 더 많이 있습니다. 각 줄을 읽고 동일한 파일로 바꿔야 합니다.
답변1
잘 이해한다면 타임스탬프는 하나가 아니라 비슷한 행이 여러 개 있다는 것입니다. 이 스크립트는 원하는 대체 작업을 수행해야 합니다.
#!/bin/bash
# get timestamps from the file
dates=`sed -e '1,$s/^.*#\(.*\) \/.*/\1/' /tmp/test.txt`
for date in $dates
do
# get human readable format from timestamp
newdate=`date -d @${date}`
# replace timestamp with human readable date
sed -i "1,\$s/\#$date/$newdate/" /tmp/test.txt
done
답변2
필요에 따라 다음 명령을 사용할 수 있습니다.
sed -i s/#1520325239/$(date -d @1520325239)/g .bash_history
답변3
sed 사용
sed -i "/#1520325239/c$(date -d @1520325239)" test.txt
-i 파일을 그 자리에서 수정합니다. 먼저 결과를 테스트하려면 "i"를 생략하세요.