Linux - GeneralThis Linux forum is for general Linux questions and discussion.
If it is Linux Related and doesn't seem to fit in any other forum then this is the place.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
I used 1019 since you stated the file contains 520 different names, so that the first one is numbered 500 and the last one 1019. Is this what you're looking for?
Regarding your script, you have two nested loops, hence for every x (user) it prints out 500:x, 501:x, ... 519:x, 520:x. Rather you actually need a single loop and a counter to increment at each passage:
Code:
c=500
for x in $(cat $file)
do
echo $c:$x
((c++))
done
Please use [code][/code] tags around your code, to preserve formatting and to improve readability. (You have over a hundred posts, so you should be aware of this by now )
You can turn off smilies when posting too.
Now for some scripting tips:
1) Don't use a for loop when reading from files or commands. Any input with a space in it would break it. Use a while+read loop instead.
2) Useless use of cat. Inside a command substitution $(<filename) does just the same job (well, except that any final newline will be removed). And if you use the while loop I mentioned in #1, you can feed it directly (example below).
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.