How to replace tab with newline:
gz@linux:~$ cat list
str1 str2 str3 str4 str5 str6 str7 str8
gz@linux:~$ cat list | tr '\t' '\n' >list2
gz@linux:~$ cat list2
str1
str2
str3
str4
str5
str6
str7
str8
How to get different parts of a string, for example with path and file name:
gz:tips# foo=/tmp/dir/filename.tar.gz
gz:tips# echo ${foo%/*}
/tmp/dir
gz:tips# echo ${foo##*/}
filename.tar.gz
gz:tips# echo ${foo%%.*}
/tmp/dir/filename
gz:tips# echo ${foo%.tar.gz}