나는 sed를 사용하여 다음과 같이 각 줄의 단어를 바꾸려고 합니다.
sed 's/\([^ ]*\), \([^ ]*\)/\2, \1/' sed.txt
이것은 sed.txt입니다:
FIRST LAST
FIRST LAST
FIRST LAST
FIRST LAST
하지만 작동하지 않습니다. 이유를 모르겠습니다. 내가 원하는 결과는 다음과 같습니다.
LAST FIRST
LAST FIRST
LAST FIRST
LAST FIRST
이 예제가 사소한 것임을 알고 있지만 위치를 변경하지 않고 현재 위치에서 단어를 바꾸는 데만 사용하고 있으므로 sed에 대해 더 알고 싶습니다.
답변1
sed 's/\([^ ]*\), \([^ ]*\)/\2, \1/' sed.txt
문제는 원본 텍스트에 없기 때문에 첫 번째 쉼표입니다. 변화:
sed 's/\([^ ]*\) \([^ ]*\)/\2, \1/' sed.txt
그리고 작동할 것이다