이런 파일이 있다고 가정 해 봅시다
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