{"revision": {"id": "f348c466-2f95-11f1-8741-e86a64d24d78", "node_id": "f348124b-2f95-11f1-a15f-e86a64d24d78", "user_id": "edc3f576-2f95-11f1-900f-e86a64d24d78", "author": "foxhop", "data": "advanced bash techniques\r\n============================\r\n\r\nfind and change all files:\r\n\r\n sudo find . -type f -print0 | xargs -0 ls -hal\r\n\r\n sudo find . -type f -print0 | xargs -0 sudo chown www-data:www-data\r\n\r\n sudo find . -type f -print0 | xargs -0 sudo chmod 0644\r\n\r\nfind and change all directories:\r\n\r\n sudo find . -type d -print0 | xargs -0 sudo chmod 0775\r\n\r\nRemove a particular line from all files in a directory\r\n============================================================\r\n\r\n.. code-block:: bash\r\n\r\n for file in /tmp/test/*\r\n   do\r\n     cp -p $file $file.tmp\r\n     egrep -v \"RegexToRemove\" $file.tmp > $file\r\n     rm -rf $file.tmp\r\n   done\r\n\r\napache logs count unique ip addresses\r\n=========================================\r\n\r\n.. code-block:: bash \r\n\r\n sudo cat access.log | awk '{ print $1; }' | sort | uniq -c | sort -n\r\n\r\n\r\n\r\nBash Perl search and replace multiple files one liner\r\n=======================================================\r\n\r\n.. code-block:: perl\r\n\r\n perl -pi -w -e 's/search/replace/g;' *.extension\r\n\r\nexplanation:\r\n\r\n **-e** \r\n  means execute the following line of code.\r\n\r\n **-i**\r\n  means edit in-place\r\n\r\n **-w**\r\n  write warnings\r\n\r\n **-p**\r\n  loop\r\n\r\n\r\n\r\n", "source_format": "rst", "revision_number": 5, "created": 1333063662000}}