For example, if you have an linux shell command output, newline-separated, and need to convert output to space-separated, pipe it to tr "\n" " " like so:
dpkg -l | grep php | cut -d " " -f 3 | tr "\n" " "
For example, if you have an linux shell command output, newline-separated, and need to convert output to space-separated, pipe it to tr "\n" " " like so:
dpkg -l | grep php | cut -d " " -f 3 | tr "\n" " "
Imagine you were copying an, eg, virtual server from /server to /newserver, and messed permissions in /etc; thre's a way to copy permissions with this simple script:
#!/bin/bash source=$1 target=$2 echo "Copy files from $source to $target" cd $source files=`find $source` for file in $files do #this is some bash voodoo - string part replacement targetFile=$target${file#$source} #stat command can accept -c parameter and return data in needed format #where %u and %g are numeric user/group ids, and %a - octal permissions permissions=`stat -c%a $file` ownership=`stat -c%u:%g $file` echo $targetFile to $ownership $permissions chmod $permissions $targetFile chown $ownership $targetFile done
invoke this like
./permissions.sh /server/etc /newserver/etc
change %u:%g to %U:%G if you prefer string id's (www-data:www-data) more than numeric (0:0)