Nếu bạn cần tạo danh sách tên và địa chỉ để kiểm tra ứng dụng hoặc tập lệnh mà bạn đang làm việc, Linux có thể làm điều đó dễ dàng một cách đáng ngạc nhiên. Có một lệnh được gọi là “Rig” sẽ tạo danh sách tên, địa chỉ và số điện thoại. Theo tôi, nó chỉ hoạt động với các địa chỉ và mã vùng của Hoa Kỳ. Tuy nhiên, bạn có thể giải quyết vấn đề này.
Để sử dụng lệnh Rig , bạn chỉ cần gõ “Rig” trên dòng lệnh và một tên kèm địa chỉ sẽ được tạo ra. Nó sẽ như thế này:
$ rig Mavis English 1015 Tulip St Anderson, IN 46018 (317) xxx-xxxx Để tạo một danh sách có nhiều địa chỉ, hãy sử dụng tùy chọn -c và chỉ định số lượng địa chỉ mà bạn muốn xem.
$ rig -c 3 Curt Rhodes 750 Orrand Dr Kinston, NC 28501 (919) xxx-xxxx Glenna Sheppard 531 Buncaneer Dr Seattle, WA 98109 (206) xxx-xxxx Georgina Burke 840 Plinfate St Orlando, FL 32802 (407) xxx-xxxx Bạn có thể đã nhận thấy rằng các số điện thoại trong các bản ghi nhận dạng này có mã vùng, nhưng chỉ có một dãy x cho số điện thoại. Trong bài đăng này, tôi sẽ trình bày một cách để bạn có thể vượt qua điều này.
Nếu vì lý do nào đó, bạn chỉ cần tên nam hoặc nữ trong danh sách đã tạo của mình, bạn có thể sử dụng tùy chọn -m (nam) hoặc -f (nữ).
$ rig -c 3 -m Eduardo Mathis 183 Kennel Ln Appleton, WI 54911 (414) xxx-xxxx Tristan Mckee 608 Lake Dr Miami, FL 33152 (305) xxx-xxxx
Randy Chavez 654 Bourg St Spokane, WA 99210 (509) xxx-xxxx
$ rig -f -c 3 Alicia Lara 853 Willow Rd Roanoke, VA 24022 (703) xxx-xxxx
Mindy Romero 846 Burnet Dr Emporia, KS 66801 (316) xxx-xxxx Ina Morris 556 Cedarwood Ln Passadena, CA 91109 <== oops! (818) xxx-xxxx
Thật dễ dàng để chuyển hướng đầu ra thành một tệp và lưu trữ cho mục đích sử dụng của bạn.
$ rig -c 100 > IDs
Đưa lệnh Rig của bạn vào một tập lệnh có thể giúp bạn dễ sử dụng hơn một chút, mặc dù nó không bổ sung nhiều vào lệnh. Trong tập lệnh gen_random_IDs này , chúng tôi nhắc người dùng về số lượng bản ghi nhận dạng được tạo ra và chuyển hướng đầu ra thành tệp. Nó sử dụng bash PID để ngẫu nhiên hóa tên tệp (ví dụ: IDs.3255) để giảm khả năng trùng tên tệp đã tồn tại.
#! / bin / bash if [ $# == 0 ]; then echo -n "number of records to generate> " read num else num=$1 fi rig -c $num > IDs.$$ echo "$num identity records are in the IDs.$$ file"
Bạn cũng có thể biến các lệnh Rig của mình thành một bí danh bash :
alias genIDs='rig -c 1000 > IDs'
Thêm số điện thoại
Nếu bạn muốn xem số điện thoại thay cho tất cả các chuỗi xxx-xxxx đó , bạn có thể thao tác thêm một chút để biến điều đó thành hiện thực. Bạn có thể tạo số điện thoại hư cấu ngẫu nhiên để đi cùng với danh tính hư cấu của mình. Trong tập lệnh tiếp theo này, tôi sử dụng một hàm bash nội bộ được gọi là RANDOM để tạo các chữ số cần thiết để thay thế các chuỗi xxx-xxxx mà Rig cung cấp. Cú pháp được hiển thị nhằm đảm bảo rằng chúng ta nhận được các chuỗi số với chính xác 3 và 4 chữ số.
Tập lệnh tạo danh sách nhận dạng bằng lệnh Rig và sau đó chạy ngược lại danh sách để thay thế các chuỗi xxx-xxxx bằng các số điện thoại đã tạo.
#!/bin/bash if [ $# == 0 ]; then echo -n "number of IDs to generate> " read num else num=$1 fi if [ -f IDs ]; then rm IDs fi rig -c $num > IDs.$$ while IFS= read -r line do if [[ $line == *"xxx-xxxx" ]]; then areacode=`echo $line | cut -c1-5` echo -n "$areacode " >> IDs echo $((100 + RANDOM % 899))-$((1000 + RANDOM % 8999)) >> IDs else echo "$line" >> IDs fi done < IDs.$$ # remove temp file rm IDs.$$ echo "Your generated identities are in the IDs file"
Trong phiên bản thứ hai này của tập lệnh gen_random_IDs , đầu ra Rig được ghi vào tệp IDs. $$ và bản ghi danh tính đã sửa đổi (cuối cùng) được ghi vào tệp ID . Bất kỳ tệp nào có tên đó tồn tại khi tập lệnh được khởi động sẽ bị xóa. Tất nhiên, bạn có thể thay đổi bất kỳ hàm nào trong số này để điều chỉnh tập lệnh theo sở thích của mình.
Đầu ra từ tập lệnh cuối cùng đó sẽ giống như thế này. Hãy nhớ rằng các số điện thoại này hoàn toàn ngẫu nhiên và không có khả năng giống với số điện thoại ở các thành phố được hiển thị, mặc dù mã vùng có thể OK.
$ cat IDs Silvia Frederick 163 Shalton Dr Beloit, WI 53511 (608) 776-7085 Mildred Joyner 116 Spring County Blvd Albany, NY 12212 (518) 491-5250
Đi ra quốc tế
Lệnh Rig lấy thông tin mà nó cung cấp từ các tệp trong / usr / share / Rig . Nếu bạn muốn nó tạo ra những tên và địa chỉ giống với những tên và địa chỉ ở một quốc gia khác, bạn có thể bỏ qua việc thay thế nội dung của những tệp này. Mặt khác, thành công của bạn có thể sẽ phụ thuộc vào mức độ mà các địa chỉ phù hợp với định dạng của nội dung hiện tại. Lệnh Rig dường như không giải quyết tốt các tên thành phố có nhiều hơn một từ như “San Francisco” hoặc “New York”. Nó có thể sẽ không tốt với các mã vùng có nhiều hơn một thành phần.
Thêm dữ liệu
Các tập tin dữ liệu mà Rig sử dụng có 1.000 mục cho một số lĩnh vực. Số lượng trên hệ thống của tôi hiển thị như sau :
$ cd /usr/share/rig $ wc -l * 1000 fnames.idx <== 1,000 first names for women 1000 lnames.idx <== 1,000 last names 61 locdata.idx <== 61 cities and states 1000 mnames.idx <== 1,000 first names for men 60 street.idx <== 1,000 street names 3121 total
Điều đó có nghĩa là nó có thể tạo ra tới 2 triệu tên khác nhau. Không có lý do gì bạn không thể thêm nhiều hơn .Chỉ cần làm theo đúng định dạng.
https://www.networkworld.com/article/3606570/random-identity-generation-in-linux.html