Pessoal, queria saber se tem como eu criar um script em shell de modo que ele crie algum arquivo ou acesse um existente e eu possa fazer alterações complexas. Por exemplo, se eu faço ls -a > arq.txt e depois ls -la > arq.txt no primeiro comando ele criou o arquivo arq.txt adicionando a saída de ls -a e no segundo ele editou, acrescentando o resultado do comando ls -la. É uma alteração, digamos simples. Sei que com o sed e awk, dá pra fazer algumas coisas mais complexas, como substituir alguns caracteres por outros ou então separar as palavras por espaços. O que eu quero saber é até que ponto eu posso editar esses arquivos sem o uso do sed e do awk, ou seja, remover palavras de determinadas linhas, acrescentar em outras etc.
Não sei se fui claro na minha pergunta, ela é meio "filosófica", mas se alguém puder responder com algum exmplo melhor ainda.