cat filename | corte -f2 | head -1 newfile contém mais caracteres que o esperado

0

Quando eu corro:

cat filename | cut -f3 | head -1

Eu obtenho o seguinte resultado:

apple

No entanto, quando eu salvar isso em um arquivo usando:

cat filename | cut -f3 | head -1 > newfile

Eu então abro isso usando o php com o seguinte:

$variable = file_get_contents("newfile"); 
echo $variable; // PRINTS "apple"

Mas quando eu faço o seguinte, a saída é 6 !!!

echo strlen($variable); // PRINTS 6 WHEN I EXPECT 5!
$variable = "apple";
echo $variable; // NOW PRINTS 5

Alguma ideia de como evitar isso? Eu preciso usar essa variável em uma função de pesquisa e não coincidirá com a minha pesquisa devido ao caractere extra que não posso identificar.

Quando faço eco do seguinte:

$variable = file_get_contents("newfile"); 
echo "TEST1";
echo "TEST2";
echo $variable;
echo "TEST3";
echo "TEST4";

Eu recebo a seguinte saída:

TEST1TEST2apple
TEST3TEST4

Portanto, deve estar imprimindo uma nova linha de alguma forma ....?!?

    
por NeverPhased 12.11.2016 / 20:33

1 resposta

6

De fato, esse é seu \n , que é contado por strlen

Em PHP, você tem rtrim ( link ) para remover todos os \n , \t , \r , \x0B & %code% da extremidade direita da sua string.

    
por 12.11.2016 / 20:37