Tạo danh tính ngẫu nhiên trong Linux

Tạo danh tính ngẫu nhiên trong Linux

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

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

error: Content is protected !!