![리눅스에서 줄의 일부를 삭제하는 방법은 무엇입니까?](https://linux55.com/image/160335/%EB%A6%AC%EB%88%85%EC%8A%A4%EC%97%90%EC%84%9C%20%EC%A4%84%EC%9D%98%20%EC%9D%BC%EB%B6%80%EB%A5%BC%20%EC%82%AD%EC%A0%9C%ED%95%98%EB%8A%94%20%EB%B0%A9%EB%B2%95%EC%9D%80%20%EB%AC%B4%EC%97%87%EC%9E%85%EB%8B%88%EA%B9%8C%3F.png)
이런 파일이 있다고 가정 해 봅시다
username:::
username2:56+4564894765:usersfsmas:fdggfdgd:
username3:::
username4:::
":" 없이 임의의 사용자 이름을 반환하고 싶습니다. 사용자 이름에는 ":"를 사용할 수 없으며 첫 번째 ":" 뒤에는 어떤 문자도 올 수 있습니다.
그래서 기본적으로 내가 원하는 것은
$ ./getRandom file
username
$ ./getRandom file
username3
나는 정규식을 사용하여 방법을 잘 모를 수 있다고 생각합니다.
답변1
사용자 이름만 얻으려면,cut -d: -f1
임의의 라인을 얻으려면 다음을 사용하십시오.shuf -n 1
그래서:
cut -d: -f1 file | shuf -n 1