당신은 떠들썩한 파티에서 나오지도 스크립트를 생성 할 수 있습니다 외부 도구 호출을 피하십시오.
#!/bin/bash
idx=12
for month in Dec Nov Oct Sep Aug Jul Jun May Apr Mar Feb Jan ; do
echo "s/$idx-\([0-9]\{1,2\}\)-\([0-9]\{4\}\)/$month \1, \2/g"
((idx--))
done
12
이 1Feb
으로 변환되지 않도록 지시하십시오. 나는 단지 한 줄에 하나의 날짜를하지만 나뿐만 아니라 전화 번호와 지역 번호가 있나요 그런
s/12-\([0-9]\{1,2\}\)-\([0-9]\{4\}\)/Dec \1, \2/g
s/11-\([0-9]\{1,2\}\)-\([0-9]\{4\}\)/Nov \1, \2/g
s/10-\([0-9]\{1,2\}\)-\([0-9]\{4\}\)/Oct \1, \2/g
s/9-\([0-9]\{1,2\}\)-\([0-9]\{4\}\)/Sep \1, \2/g
s/8-\([0-9]\{1,2\}\)-\([0-9]\{4\}\)/Aug \1, \2/g
s/7-\([0-9]\{1,2\}\)-\([0-9]\{4\}\)/Jul \1, \2/g
s/6-\([0-9]\{1,2\}\)-\([0-9]\{4\}\)/Jun \1, \2/g
s/5-\([0-9]\{1,2\}\)-\([0-9]\{4\}\)/May \1, \2/g
s/4-\([0-9]\{1,2\}\)-\([0-9]\{4\}\)/Apr \1, \2/g
s/3-\([0-9]\{1,2\}\)-\([0-9]\{4\}\)/Mar \1, \2/g
s/2-\([0-9]\{1,2\}\)-\([0-9]\{4\}\)/Feb \1, \2/g
s/1-\([0-9]\{1,2\}\)-\([0-9]\{4\}\)/Jan \1, \2/g
,
script.sh | sed -f- file
실행
는script.sh
로 저장, 다음 SED 스크립트를 생성합니다. 나는 또한 이러한 오류가 발생 sh : 1 : 구문 오류 : "(예기치 않은 sh : 1 : 구문 오류 : 인용 부호가없는 문자열 – user3347022
unterminated 그래서 awk 또는 perl 더 적합하다고 생각합니다. choroba 응답을 고려하십시오. awk있는 다른 예제를 제공 할 수 있습니다. 만약 당신이 선호한다면 – mcoolive
나는 그것을 위해 sed를 사용해야한다. 나는 다른 것들에 대해 아무것도 알지 못하지만 훨씬 더 나은 경로가 있다는 것에 동의 할 것이다.하지만이 목적을 위해서 나는 sed, tr, grep, cut, paste를 사용해야한다. 하나의 급습로 텍스트 문서 내의 날짜를 수정할 수 있습니다. – user3347022