Đổi tên file hàng loạt trong linux với lệnh for và mv

Khi làm việc với bashscript, hay command trong linux, đôi khi dùng vòng lặp for hay while sẽ rất tiện lợi, ví dụ: đổi tên file, import .sql file chẳng hạn
Bài viết này sẽ lấy vị dụ bạn muốn đổi tên file hàng loạt trong 1 folder nào đó.
Giả sử tôi đang đứng tại folder /home/longnguyen/sandbox/demo-rename-file (pwd)
list file
Bạn muốn đổi tên các file txt thành docx chẳng hạn. Câu lệnh như sau:

Với cú pháp trên bạn có thể làm rất nhiều thứ khác, ví dụ bạn muốn import nhiều file .sql vào csdl postgres (hay bkì hệ csdl nào khác)

vduj với postgres:

Câu hỏi cho các bạn, nếu bạn muốn giải nến nhiều file nén dạng filename.partx_001.tar, filename.partx_002.tar, filename.partx_003.tar … thì câu lệnh sẽ thế nào ?

Tham khảo:
https://www.debian-administration.org/article/150/Easily_renaming_multiple_files
http://stackoverflow.com/questions/678905/untar-multipart-tarball-on-windows

Cài đặt citrix ICA client trên linux

Khi tham gia một số course trên mạng, có thể bạn sẽ được cung cấp thông tin để đăng nhập vào một máy ảo đã cài sặt môi trường như giáo trình bạn tham gia.
Nếu khóa học cung cấp Citrix client để bạn truy cập vào máy ảo từ xa bạn có thể download tại đây http://www.citrix.com/downloads/citrix-receiver.html
Nếu dùng window thì việc cài đặt hòan toàn đơn giản.
Nhưng nếu dùng linux (fedora hay ubuntu) có thể tốn rất nhiều thơi gian của bạn cho việc cài đặt này.

Bạn có thể làm như sau:

Vào link sau download http://www.citrix.com/downloads/citrix-receiver/linux/receiver-for-linux-131.html

Giải nến ra thư  mục nào đó, ở đây tôi giải nến ra thư mục /opt/citrix-client/ica

Sau đó bạn phải link thư viện ica (hay plugin) đã cài đến trình duyệt trên máy của bạn có thể là firefox, mozilla hay có thể là IE (trên linux ??? just kidding 😀 )

Nếu chưa biết thư mục chứa plugins của trình duyệt bạn có thể dùng lệnh sau:

find / -name plugins | grep -i “netscape\|firefox\|mozilla”

Sau đó chuyển đường dẫn đến thư mục plugin

cd /usr/lib/mozilla/plugins/

Trong thư mục mới cd,  bạn tạo một npica.so liên kết đến thư mục cài plugin citrix ica

ln -s /opt/Citrix/ICAClient/npica.so npica.so

Xong, các thao tác sau đó khá đơn giản …. 😉

Tham khảo: http://www.agaveblue.org/howtos/Citrix_ICA_How-To.shtml

sử dụng grep và less để tìm kiếm chuỗi ký tự nào đó trong log file cực lớn

Khi phải check log file cực lớn, nếu bạn dùng cat hoặc vi để tìm kiểm chuỗi nào đó quả không hề đơn giản.

Bạn có thể dùng grep kết hợp với less để giải quyết vấn đề này

grep “chuoi can tim” tenfile.log | less

Nếu bạn muốn đếm số lần xuất hiện của chuỗi cần tìm trong file log, bạn có thể dùng “wc -l” để đếm

grep “chuoi can tim” tenfile.log | less| wc -l

Chú thích:

grep là lệnh để tìm kiếm chuỗi trong linux (very powerfull) trong file bất kỳ

less là lệnh cho phép bạn di chuyển tới, lui (forward, backward) như khi bạn dùng vi, có thể nói less là lệnh mở rộng thêm của (vimore)

linux history command with timestamps

Config output format in HISTTIMEFORMAT with below command:

echo ‘export HISTTIMEFORMAT=”%d-%m-%y  %T” ‘  >> ~/.bash_profile; bash

then history to see the different

To make the changes permanent follow the below steps,

you need to add the below line to .bashrc file and then save it,

run the below command to source .bashrc file,

 

Reference:

http://askubuntu.com/questions/391082/how-to-see-time-stamps-in-bash-history

 

Finding all files containing a text string on linux

I faced with the issue that how to find all files containing a text string on linux

Just t do the following steps (I copy and paste from stackoverflow.com)

-r is recursive, -n is line number and -w stands match the whole word. Along with these, –exclude or –include parameter could be used for efficient searching. Something like below:

This will only search through the files which have .c or .h extensions. Similarly a sample use of –exclude:

Above will exclude searching all the files ending with .o extension. Just like exclude file it’s possible to exclude/include directories through –exclude-dir and –include-dir parameter, the following shows how to integrate –exclude-dir:

This works well for me.

References:
http://stackoverflow.com/questions/16956810/finding-all-files-containing-a-text-string-on-linux http://www-users.york.ac.uk/~mijp1/teaching/2nd_year_Comp_Lab/guides/grep_awk_sed.pdf ( useful tutorial about grep awk and sed command line)